我不知道如何从函数返回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:)
答案 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