在PHP函数之间发送JSON数据

时间:2012-09-04 11:47:09

标签: php json

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

4 个答案:

答案 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));

而不是回声。