PHP:不能将参数传递给另一个文件中的函数


PHP: cannot pass parameters to a function in another file

我有file1.php,它获取数据并希望返回到客户端。它在自己的顶部加载另一个php文件:require_once '/utils/file2.php';

函数returnJson()位于file2.php中,如下所示:

function returnJson( $param1, $param2 ) { $res = [ 'timestamp' => time() ]; if ( isset( $param1 ) ) $res['param1'] = $param1; if ( isset( $param2 ) ) $res['param2'] = $param2; echo json_encode( $res ); exit; }

file1.php的末尾,它调用returnJson( $param1, $param2 )$param1$param2都具有值。

然后在客户端上,我得到的json结果只有timestamp,但缺少其他两个参数。

{ "timestamp": 1470271525 }

因此,我更改了returnJson函数,在不检查的情况下添加$res中的参数:

function returnJson( $param1, $param2 ) { $res = [ 'timestamp' => time(), 'param1' => $param1, 'param2' => $param2 ]; echo json_encode( $res ); exit; }

然后在客户端上,我得到了这样的json:

{ "timestamp": 1470271525, "param1": null, "param2": null }

这意味着您传递给函数的一个或两个参数(例如returnJson($var1, $var2))的值为null,而不是说您没有传递它们。var_dump()函数调用前的变量,以及die()以查看它们的值。然后检查拼写错误,按照它们的代码路径返回设置位置,等等。