如何在“func1”中获取 JSON 数据(由“func2”发送)?
函数1.php
include 'func2.php';
$data = run_method();
func2.php
function run_method() {
//...
echo json_encode(array('f1' => $val1, 'f2' => $val2));
die();
}
func2.php
function run_method() {
//...
$data = json_encode(array('f1' => $val1, 'f2' => $val2));
echo $data
retrun $data
}
功能1
$data = run method()
您不需要echo
但需要以下return
数据:
function run_method() {
//...
return json_encode(array('f1' => $val1, 'f2' => $val2));
}
升级版:
看看你在$data
使用var_dump($data);
后得到了什么$data = run_method();
您必须将json_encodedfunc1.php
数据解码回来(反序列化)。
所以这里最好的方法是不要使用json_encode
和返回简单的数组,比如:
return array('f1' => $val1, 'f2' => $val2);
在你的情况下访问$val1
使用$data['f1']
,访问$val2
使用$data['f2']
。
echo
通过网络服务器将您的数据发送到客户端。
要从函数接收数据,请使用return
:
function run_method() {
// Some code where you initialize $val1 and $val2
return json_encode(array('f1' => $val1, 'f2' => $val2));
}
请注意,您通常不需要在 JSON 中对事物进行编码即可使用它们。当您的服务器端应用程序生成一些数据并需要将其发送到客户端时,将使用 JSON。
如果您只需要这些值$val1
,$val2
那么您应该这样做:
function run_method() {
// Some code where you initialize $val1 and $val2
return array('f1' => $val1, 'f2' => $val2);
}
然后,func1.php
您可以$data
作为普通数组访问。
咱们试试吧
return json_encode(array('f1' => $val1, 'f2' => $val2));
插入回声。