Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中移动2D数组_Php_Arrays - Fatal编程技术网

如何在PHP中移动2D数组

如何在PHP中移动2D数组,php,arrays,Php,Arrays,嗨,这是我的2D数组格式。我想移除第一个内部阵列 Array ( [0] => Array ( [0] => Array ( [type] => section-open ) ) [1] => Array ( [0] => Array

嗨,这是我的2D数组格式。我想移除第一个内部阵列

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [type] => section-open
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [type] => section-close
                )

        )

)
我想移除所有内部数组并像这样返回它

Array
(
    [0] => Array
        (
            [type] => section-open
        )

    [1] => Array
        (
            [type] => section-close
        )

)

我尝试了array\u shift函数,但它不起作用…

更新:这是基于用户给出的示例,但他希望它适用于包含多个元素的数组

array\u shift删除数组的第一个元素,但这不是您想要的

你必须自己建造一些东西

比如:

$result = array();
foreach($my_array as $element)
{
    $result[]=$element[0];
}

因为你可能想要一个真正的2d移位,所以我做了一个函数,移除数组中的第一级,但将所有项目保留在第二级

以下是一个工作示例:

以及功能:

/**
 * Removes first level in an array, returning the 2nd level elements as an array
 * @param array Array to process
 * @return 2nd level items from the given array
 */
function array2dshift(array $array) {
    $res = array();

    foreach($array as $lvl1) {
        foreach($lvl1 as $item) {
            $res[] = $item;
        }
    }

    return $res;
}

@我认为如果第二级中有多个项,代码就会爆炸。这是基于@mifas give@sg3s示例的。这不是递归函数。