用PHP浏览json混合数组和对象

时间:2017-08-02 11:35:03

标签: php arrays json iterator

我需要走json混合阵列和物体。

我试试,但得到[ErrorException]数组到字符串转换

$epoJson = json_decode($json, true);
foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($epoJson), RecursiveIteratorIterator::CATCH_GET_CHILD) as $key => $value) {
   echo 'My node ' . $key . ' with value ' . $value . PHP_EOL;
}

注意:我当然不需要echovar_dump或其他...我需要迭代才能使用其他代码来处理值...代码回显它&# 39;仅用于可视化问题...如果我使用echo ot'来解决简单问题:如果$value,则不是字符串......

尝试搜索一些示例或库,以便在json上混合但不能获得任何内容。

http://sandbox.onlinephpfunctions.com/code/4bd4fbc5e43ed439add7d4ba497b830d498ce4ac

2 个答案:

答案 0 :(得分:1)

尝试使用此代码100%正常工作:

注意: $value是数组不是字符串

<?php

$epoJson = json_decode($epoJson, true);
foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($epoJson), RecursiveIteratorIterator::CATCH_GET_CHILD) as $key => $value) {
   //echo 'My node ' . $key . ' with value ' . $value . PHP_EOL;
    echo $key.'<br />';
    echo "<pre>"; print_r($value); // $value is array not string
    echo '<hr />';
}

?>

答案 1 :(得分:0)

在寻找好时光后,我意识到出了问题,因为我试图验证它何时是一个物体。

请记住,Laravel有一个帮助程序可以或多或少地执行我想要的任务,至少是深度

它遍历带有或不带对象的多维数组,并将其转换为一维数组。

正是我需要的。

{{1}}

http://sandbox.onlinephpfunctions.com/code/c9d8b0c293901325829219f5c03d655748802109