在PHP函数之间发送JSON数据


Send JSON data between PHP functions

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

代替回声。