我需要走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;
}
注意:我当然不需要echo
,var_dump
或其他...我需要迭代才能使用其他代码来处理值...代码回显它&# 39;仅用于可视化问题...如果我使用echo
ot'来解决简单问题:如果$value
,则不是字符串......
尝试搜索一些示例或库,以便在json上混合但不能获得任何内容。
http://sandbox.onlinephpfunctions.com/code/4bd4fbc5e43ed439add7d4ba497b830d498ce4ac
答案 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