返回匿名函数

rei*_*eer 7 php function return-value anonymous-function

我希望有一个用PHP编写的函数,它可以创建〜5个参数的匿名函数并返回它们,这样我就可以将它们存储在一个键/值数组中,稍后调用它们,而不需要了解给定的参数,不止一次.

例如

$fun();
Run Code Online (Sandbox Code Playgroud)

之后如何实现返回和可重复使用的呼叫?

提前致谢.

Tim*_*tle 14

你的意思是这样的?

<?php
function setData($user, $pass, $host){
  return function() use ($user, $pass, $host){
    return array($user, $pass, $host);
  };
}

//set the data once
$container = setData('test', 'password', 'localhost');
//use the function without passing the data again (and it should be noted, you
//can't set the data again)
var_dump($container());
Run Code Online (Sandbox Code Playgroud)

并输出:

array(3) {
  [0]=>
  string(4) "test"
  [1]=>
  string(8) "password"
  [2]=>
  string(9) "localhost"
}

不确定你的用例,但对于我的例子,函数的输出可以是格式化的DNS以及简单的数组.

正如其他地方所提到的,func_get_args可以使用任意数量的参数.