我有以下简单的PHP脚本:
<?php
function generate($test_var, trim($test_var2)) {
echo $test_var2;
}
generate('value 1', ' value2');
?>
它出现以下错误:
PHP Parse error: syntax error, unexpected '(', expecting '&' or T_VARIABLE
in ** on line 3
我无法弄清楚为什么修剪不能在这种情况下使用。
答案 0 :(得分:5)
您根本无法在另一个函数 * 的定义的参数列表中调用函数。也许你打算做这样的事情:
function generate($test_var, $test_var2) {
$test_var2 = trim($test_var2);
echo $test_var2;
}
*请注意,在声明参数的默认值时,您可以使用array
语言构造,尽管这不是函数。
进一步阅读
答案 1 :(得分:3)
另一个函数在PHP的函数定义中的参数列表中无效。操作词在函数定义中的参数列表中 ;你可以在这里阅读一个函数的结构:http://www.php.net/manual/en/functions.arguments.php
话虽如此,在p.s.w.g的评论中调用下面提到的函数时,你可以在大多数情况下将函数作为参数传递为callback。
E.g。
<强>有效:强>
function foo($bar, $baz) {
// Do something
}
...
foo('Hello', trim('World '));
<强>无效:强>
function foo($bar, trim($baz)) {
// Do something
}
...
foo('Hello', 'World ');
简单地说:
PHP支持按值传递参数(默认值),传递引用和默认参数值。还支持可变长度参数列表,有关更多信息,另请参阅func_num_args(),func_get_arg()和func_get_args()的函数参考。