我有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()
以查看它们的值。然后检查拼写错误,按照它们的代码路径返回设置位置,等等。