2016-08-04 54 views
-2

我有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 }

+0

你是什么意思“不带任何参数”?具体描述问题。不要告诉我们你认为问题是什么,请描述你有什么迹象表明首先存在问题。另外,你在哪里/如何调用这个函数?发布的代码“不带任何参数”,因为该函数从未被调用过。 – David

+0

关于编辑:给出这个信息,传递给函数的值是'null'似乎是合理的。是什么让你觉得他们不会'空'?你在哪里设置它们?你已经做了什么调试来确认这些值已设置? – David

+0

我确定它们不是'null',因为在传递给'returnJson()'之前'print_r()'。 – noob

回答

0

它我请确定您传递给该函数的一个或两个参数的值,例如returnJson($var1, $var2),为空,不是你没有通过它们。 var_dump()变量之前你的函数调用和die()看看他们是什么值。然后检查拼写错误,按照他们的代码路径返回到他们设置的位置等。

相关问题