循环遍历嵌套数组PHP

时间:2018-03-22 15:26:13

标签: php arrays json loops

我试图遍历从json文件解码的PHP数组。我得到了结果但它只给了我文件中数组的第一个结果。我怎么能让它循环?这是我的代码:

foreach ($events as $event) {

  echo $event['d']['Tree1'][0]['Tree2']['Field1'] . '<br>';
  echo $event['d']['Tree1'][0]['Tree2']['Field2'] . '<br>';
  echo $event['d']['Tree1'][0]['Tree2']['Field3'] . '<br>';

}

1 个答案:

答案 0 :(得分:1)

听起来你正试图循环"multidimensional array"的值。你通过循环遍历你的数组是正确的,但是你被卡住了,因为循环中的每个元素都是......另一个数组。因此,要回显子数组的值,您需要在循环内运行第二个循环。基本上,如果您的循环命中子数组,您也想循环遍历该数组。如果您知道您的数组仅由子数组组成,则可以这样做:

<?php
foreach ($events as $event) {

    foreach($event as $ev) {

        echo $ev;
    }
}

如果您需要密钥,这会增加一些复杂性,但是您无法管理任何内容。

<?php
foreach ($events as $event) {
    foreach ($event as $k=>$v) {
        echo $k .': '. $v; 
    }
}

php manual中也有一些例子。如果您只需要来自特定键的数据,也可以添加条件。祝你好运!