在php的另一个函数中调用函数的语法是什么? 我想要这样的东西:
function argfunction($a,$b,$c){
}
function anotherfunction(argfunction($a,$b,$c), $d, $e)
{
}
我没有在argfunction
anotherfunction
答案 0 :(得分:1)
答案 1 :(得分:1)
函数的参数应该是声明性的,即它们不应该做某事。
但您可以使用callable
关键字(PHP 5.4)执行此操作:
function argfunction($a,$b,$c){
return $a+$b+$c;
}
function anotherfunction(callable $a_func, $a, $b, $c, $d, $e) {
// call the function we are given:
$abc = $a_func($a, $b, $c);
return $abc + $d * $e;
}
// call:
anotherfunction ("argfunction", 1, 2, 3, 4, 5); // output: 26
或者你可以传递整个函数定义:
echo anotherfunction (function ($a, $b, $c) {
return $a+$b+$c;
}, 1, 2, 3, 4, 5); // output: 26
或者,将函数赋值给变量,然后传递:
$myfunc = function ($a, $b, $c) {
return $a+$b+$c;
};
echo anotherfunction ($myfunc, 1, 2, 3, 4, 5); // output: 26
但是如果你只想将函数调用的结果传递给另一个函数,那么它就更简单了:
function anotherfunction2($abc, $d, $e) {
return $abc + $d * $e;
}
echo anotherfunction2 (argfunction(1, 2, 3), 4, 5); // output: 26