PHP修剪内部功能

时间:2014-03-10 22:45:26

标签: php function syntax syntax-error

我有以下简单的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

我无法弄清楚为什么修剪不能在这种情况下使用。

2 个答案:

答案 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()的函数参考。