如何在不丢失键的情况下删除数组的第一维?

How to remove first dimension of an array without loosing keys?

如何在不丢失密钥的情况下删除多维数组的第一维? 我有一个数组,里面有多个数组 第一个键是日期,第二个键是小时。

我的输出是:

Array
(
    [0] => Array
        (
            [firstkey] => Array
                (
                    [secondkey] => Array
                    (
                        [0] => 7
                        [1] => 8
                    )
                )
            )
    [1] => Array
        (
            [firstkey] => Array
                (
                    [secondkey] => Array
                    (
                        [0] => 7
                        [1] => 8
                    )
                )
        )
)   

我想要这个:

Array
(
   [firstkey] => Array
               (
                   [secondkey] => Array
                   (
                       [0] => x
                       [1] => y
                       [2] => z
                       [3] => r
                   )
               )
  
)

我也试过 array_merge_recursive() 但不是将值放入第二个键,而是创建一个带有增量键的新数组

好的,找到解决方案: PHP : multidimensional array merge recursive

function array_merge_recursive_ex(array $array1, array $array2)
{
    $merged = $array1;

    foreach ($array2 as $key => & $value) {
        if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
            $merged[$key] = array_merge_recursive_ex($merged[$key], $value);
        } else if (is_numeric($key)) {
             if (!in_array($value, $merged)) {
                $merged[] = $value;
             }
        } else {
            $merged[$key] = $value;
        }
    }

    return $merged;
}

通过这个函数,我可以在不丢失键的情况下合并那个多维数组:

$newarray =[];
foreach($array as $firstkey){
    $newarray = array_merge_recursive_ex($newarray, $firstkey);
}