如何在'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();
}
答案 0 :(得分:2)
func2.php
function run_method() {
//...
$data = json_encode(array('f1' => $val1, 'f2' => $val2));
echo $data
retrun $data
}
func1的
$data = run method()
答案 1 :(得分:1)
您不需要echo
,而是return
数据,如:
function run_method() {
//...
return json_encode(array('f1' => $val1, 'f2' => $val2));
}
<强> UPD:强>
要$data
var_dump($data);
使用$data = run_method();
查看您的内容
在func1.php
中,你必须重新解码json_encoded数据(反序列化它)。
所以这里最好的方法是不使用json_encode
并返回简单的数组,如:
return array('f1' => $val1, 'f2' => $val2);
要访问$val1
使用$data['f1']
,要访问$val2
,请使用$data['f2']
。
答案 2 :(得分:1)
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
。
答案 3 :(得分:0)
我们试试
return json_encode(array('f1' => $val1, 'f2' => $val2));
而不是回声。