0

如何在“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();
}
4

4 回答 4

2

func2.php

function run_method() {
 //...
  $data = json_encode(array('f1' => $val1, 'f2' => $val2));
   echo $data
   retrun $data
 }

功能1

$data = run method()
于 2012-09-04T11:50:44.983 回答
1

您不需要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']

于 2012-09-04T11:49:23.727 回答
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作为普通数组访问。

于 2012-09-04T11:49:59.233 回答
0

咱们试试吧

 return json_encode(array('f1' => $val1, 'f2' => $val2));

插入回声。

于 2012-09-04T11:49:53.133 回答