我有file1.php
,它获取数据并希望返回到客户端。它加载另一个PHP文件在自身的顶部:require_once '/utils/file2.php';
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
都有值。
然后在客户端,我只有timestamp
json结果,但缺少其他两个参数。
{ "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 }
你是什么意思“不带任何参数”?具体描述问题。不要告诉我们你认为问题是什么,请描述你有什么迹象表明首先存在问题。另外,你在哪里/如何调用这个函数?发布的代码“不带任何参数”,因为该函数从未被调用过。 – David
关于编辑:给出这个信息,传递给函数的值是'null'似乎是合理的。是什么让你觉得他们不会'空'?你在哪里设置它们?你已经做了什么调试来确认这些值已设置? – David
我确定它们不是'null',因为在传递给'returnJson()'之前'print_r()'。 – noob