如何使用foreach处理多维php数组?

时间:2015-10-31 19:13:56

标签: php arrays json multidimensional-array foreach

我使用json_decode解析了一个JSON文件,结果是一个长的多维数组,如下所示:

Array
(
[Basic] => Array
    (
        [0] => Array
            (
                [text] => Taunt.
                [playerClass] => Shaman
                [locale] => enUS
                [mechanics] => Array
                    (
                        [0] => Array
                            (
                                [name] => Taunt
                            )
                    )
            )
    )

[Classic] => Array
    (
        [0] => Array
            (
                [cardId] => CS2_188o
                [name] => 'Inspired'
                [mechanics] => Array
                    (
                        [0] => Array
                            (
                                [name] => OneTurnEffect
                            )
                    )
            )
    )
)

我想使用foreach将数据插入到数据表中,但我无法使其与此多维数组一起使用。我该怎么做?

2 个答案:

答案 0 :(得分:1)

您必须使用递归数组来执行此操作

function build($fullArray)
{
    foreach ($fullArray as $item) {
          if (is_array($item)){
            build($item);
          }
          else{
              echo $item["cardId"];
              echo $item["name"];
              ....
        }
    }
}

答案 1 :(得分:0)

使用此:

foreach ($items as $item) {
  if (is_array($item)){
    foreach ($item as $it) {
      echo $it["name"];
    }
  }
  echo $item["cardId"];
  echo $item["name"];
  ....
}