PHP数组迭代问题

时间:2011-05-09 01:47:54

标签: php arrays

嘿,所以我有这个名为$ files(var_dump()ed)的数组:

array(2) {
  [0]=>
  array(1) {
    ["_c"]=>
    array(2) {
      ["title"]=>
      array(1) {
        ["_v"]=>
        string(9) "blueprint"
      }
      ["src"]=>
      array(1) {
        ["_v"]=>
        string(20) "blueprint/screen.css"
      }
    }
  }
  [1]=>
  array(1) {
    ["_c"]=>
    array(2) {
      ["title"]=>
      array(1) {
        ["_v"]=>
        string(7) "general"
      }
      ["src"]=>
      array(1) {
        ["_v"]=>
        string(11) "general.css"
      }
    }
  }
}

但是当我:

foreach($files as $file){
    // etc.
}

我得到Invalid argument supplied for foreach()

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:2)

唉唉。我明白你在做什么。您完全正确的是,对于 css 键,您可以获得file个标记,从而获得有效数组:

    <css>
        <file>
            <title>blueprint</title>
            <src>blueprint/screen.css</src>
        </file>
        <file>
            <title>general</title>
            <src>general.css</src>
        </file>
    </css>

js 键何时出现呢?

    <js>

    </js>

果然,没有file键,没有数组和PHP扼流圈。

您可能想要抛出

if (!isset($files['file'])) continue;

在那里。