循环子多维数组

时间:2015-04-29 06:28:56

标签: php arrays

循环遍历多维数组以返回PHP中匹配的索引子元素的最佳方法是什么?

数组将动态创建,所以我不知道计数。每个项目都有一对,即使它只是一个空字符串。

示例数组:

array(1) {
  ["gallery"]=>
  array(2) {
    ["img"]=>
    array(2) {
      [0]=>
      string(5) "first"
      [1]=>
      string(6) "second"
    }
    ["test"]=>
    array(2) {
      [0]=>
      string(3) "one"
      [1]=>
      string(3) "two"
    }
  }
}

期望的结果:

  • 第一个
  • 第二个
  • 2 个答案:

    答案 0 :(得分:1)

    您可以在下面的代码中尝试所需的输出

    string extension

    告诉我任何进一步的帮助

    答案 1 :(得分:0)

    您可以使用MultipleIterator[PHP.net]类:

    $array = array(
        'gallery' => array(
            "img"  => array("first", "second"),
            "test" => array("one",   "two")
        )
    );
    
    $it1 = new ArrayIterator($array['gallery']['img']);
    $it2 = new ArrayIterator($array['gallery']['test']);
    
    $multipleIterator = new MultipleIterator();
    $multipleIterator->attachIterator($it1);
    $multipleIterator->attachIterator($it2);
    
    foreach ($multipleIterator as $pair) {
        echo $pair[0], " ", $pair[1], PHP_EOL;
    }
    

    输出:

    first one
    second two
    

    对于较新的PHP版本,您也可以在foreach中使用list

    foreach ($multipleIterator as list($img, $test)) {
        echo $img, " ", $test, PHP_EOL;
    }