组合2个或多个嵌套数组,这些数组都在一个父数组对象中

时间:2013-11-02 16:26:50

标签: php arrays

我正在创建一个基本的foreach循环库函数,但我试图制作的这个库函数有点不同,因为我将所有的库图像合并为一个。

我需要将多个gallery数组合并为一个,但是这些gallery数组包含在一个大数组中,我很难弄清楚如何组合它们,因为它们嵌套在主数组中。 / p>

看看我的数组在下面是如何构建的......

$gallerys = get_field( 'gallery_images' );
var_dump($gallerys);

-

array(2) {
  [0]=>
  array(2) {
    ["gallery_name"]=>
    string(11) "Gallery One"
    ["gallery_images"]=>
    array(1) {
      [0]=>
      array(10) {
        ["id"]=>
        int(373)

        ...etc etc

      }
    }
  }
  [1]=>
  array(2) {
    ["gallery_name"]=>
    string(11) "Gallery Two"
    ["gallery_images"]=>
    array(1) {
      [0]=>
      array(10) {
        ["id"]=>
        int(542)

        ...etc etc

      }
    }
  }
}


任何人都可以指出我正确的方向,使用新数组更新$gallerys变量,该数组将所有["gallery_images"]数据合并为一个。

所以我的想法就是这样做......

if( $gallerys ):

foreach( $gallerys as $gallery ):

echo $gallery['id'].'<br/>';

endforeach;

endif;

它会输出这个......

373
542


提前感谢您提供的任何帮助。

约什

3 个答案:

答案 0 :(得分:2)

这应该有效

$images=array();

foreach( $gallerys as $gallery ){

   $images=array_merge($images, $gallery[ ["gallery_images"]);
}

答案 1 :(得分:1)

这应该有效

$images = array();
foreach($gallerys as $gallery) {
   $images = array_merge($images, $gallery['gallery_images']);
}

答案 2 :(得分:1)

$all_gallery_images = array();

foreach($gallerys as $gallery) {
   $all_gallery_images[] = $gallery["image"];
}