0

嗨,这是我的二维数组格式。我想删除第一个内部数组。

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_shift功能它​​不起作用...

4

2 回答 2

6

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

array_shift()删除数组的第一个元素,但这不是您想要的。

你必须自己建造一些东西。

就像是:

$result = array();
foreach($my_array as $element)
{
    $result[]=$element[0];
}
于 2012-04-22T07:07:25.203 回答
2

由于您可能想要一个真正的 2d 移位,我创建了一个函数来执行此操作,删除数组中的第一级,但将所有项目保留在第二级。

这是一个工作示例:

http://codepad.org/H7iaTI1E

和功能:

/**
 * 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;
}
于 2012-04-22T08:22:53.707 回答