从函数返回json并传递给变量

时间:2016-11-02 02:02:20

标签: php json

我不知道如何从函数返回json。这是我尝试过的代码:

function buildJson(){
    ... $json_source is parsed by http (this works)
    $source = json_decode($json_source, true);
    $res = $source['child'];
    echo count($res); // 6

    return $res;
    //return json_encode($res);
}

//////

$json_res = buildJson();
echo count($json_res); // 0

for($i = 0; $i < count($json_res); $i++){
     $item = $json_res[$i];
}

它是如何工作的,我尝试了很多东西,但每次都计算$ json_res为0?对不起,我没有那么多经验:)

编辑:&#34; $ json_source&#34;在函数buildJson()中生成。我测试它存在&#34; echo count($ res); // 6&#34;。我可以在函数中访问$ res的所有值,但我无法返回并在外部访问它。所以&#34; $ json_source&#34;不是问题。还有其他想法吗?

求助:好了,现在我发现了问题,因为编码原因我在buildJson()中再次调用buildJson()。现在我用另一种方式对它进行编码,现在可以正常工作谢谢@all:)

2 个答案:

答案 0 :(得分:0)

尝试将参数传递给您的函数。 我认为它没有用,因为你没有json的数据源

function buildJson($json_source){
    $source = json_decode($json_source, true);
   $res = $source['child'];
   echo count($res); // 6

   return $res;
  //return json_encode($res);
}



$json_res = buildJson($json_source);
echo count($json_res); // 0

for($i = 0; $i < count($json_res); $i++){
  $item = $json_res[$i];
}

答案 1 :(得分:0)

试试此代码。

ID==2