如果我可以创建 function something() { ... }
,为什么会有函数 create_function()
。 create_function(string $args, string $code);
的真正含义是什么?
例如,我是否应该echo
一个特定的值,手写:
function sayHi($name){
echo 'Hi,' . $name;
}
//using it like:
sayHi('Jacques Marais');
但随后使用 create_function()
方法:
$sayHi = create_function('$name', 'echo \'Hi,\' . $name;');
//using it like:
$sayHi('Jacques Marais');
最佳答案
因为您可以以多种方式使用它..甚至在数组中!
$farr = array(
create_function('$x,$y', 'return "some trig: ".(sin($x) + $x*cos($y));'),
create_function('$x,$y', 'return "a hypotenuse: ".sqrt($x*$x + $y*$y);'),
create_function('$a,$b', $f1),
create_function('$a,$b', $f2),
create_function('$a,$b', $f3)
);
你只看一个例子,但这个函数的使用更复杂,你可以用许多不同的方式使用它,这比使用 function()
更容易。
如 PHP.net 上的示例#3
<?php
$av = array("the ", "a ", "that ", "this ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>
上面的例子会输出:
Array
(
[0] => the mango
[1] => a mango
[2] => that mango
[3] => this mango
)
关于php - 为什么会有函数create_function()?在 PHP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20394721/