Php Foreach数组合并

Php Foreach数组合并,php,arrays,merge,array-merge,Php,Arrays,Merge,Array Merge,我正在尝试用foreach循环合并多个数组。wp_get_nav_menu items函数通过填写菜单名返回数组对象。在我的循环中,我想将3个菜单的所有数组项添加到一起 $menus = array( 'menu 1', 'menu 2', 'menu 3' ); foreach( $menus as $key => $menu ) { $menu_object = wp_get_nav_menu_items( esc_attr( $menu ) ); $menu_o

我正在尝试用foreach循环合并多个数组。wp_get_nav_menu items函数通过填写菜单名返回数组对象。在我的循环中,我想将3个菜单的所有数组项添加到一起

$menus = array( 'menu 1', 'menu 2', 'menu 3' );
foreach( $menus as $key => $menu ) {
    $menu_object    = wp_get_nav_menu_items( esc_attr( $menu ) );
    $menu_objects[]     = $menu_object;
}   
但根据我目前的代码,我得到了以下结果:

Array
(
    [0] => Array
        (
            [0] => WP_Post Object
                (
                    [ID] => 397
                )
        )
    [1] => Array
        (
            [0] => WP_Post Object
                (
                    [ID] => 112
                ) 
        )
) 
我需要这个:

Array
(
     [0] => WP_Post Object
        (
           [ID] => 397
        )
     [1] => WP_Post Object
        (
           [ID] => 112
        )
     [2] => WP_Post Object
        (
           [ID] => 136
        )
)
所以我尝试在循环中使用array_merge,但这不起作用

$menus = array( 'menu 1', 'menu 2', 'menu 3' );
foreach( $menus as $key => $menu ) {
    $menu_object    = wp_get_nav_menu_items( esc_attr( $menu ) );
    $menu_objects   = array_merge( $menu_objects, $menu_object );
}   

为什么不修改此行以获取对象:

$menu_object = wp_get_nav_menu_items( esc_attr( $menu ) );
尝试以下方法:

$menu_object = wp_get_nav_menu_items( esc_attr( $menu ) )[0];
我只需要将$menu_对象指定为数组:

$menus = array( 'menu 1', 'menu 2', 'menu 3' );
$menu_objects = array();
foreach( $menus as $key => $menu ) {
    $menu_object    = wp_get_nav_menu_items( esc_attr( $menu ) );
    $menu_objects   = array_merge( $menu_objects, $menu_object );
} 

不,这样我只得到每个菜单的第一个数组。