如何在'func1'中获取JSON数据(由'func2'发送)?
func1.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));
}
UPD:
要查看$data
中的内容,请在$data = run_method();
之后使用var_dump($data);
在func1.php
中,您必须将json_encoded数据解码回(取消序列化)。
因此,这里最好的方法是不使用json_encode
并返回简单的数组,如:
return array('f1' => $val1, 'f2' => $val2);
在您访问$val1
的情况下,请使用$data['f1']
,访问$val2
的情况下使用$data['f2']
。
echo
通过Web服务器向客户端发送数据。
要从函数接收数据,请使用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));
代替回声。