如何在PHP中移动2D数组

时间:2012-04-22 07:05:08

标签: php arrays

嗨,这是我的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_shift功能它不起作用......

2 个答案:

答案 0 :(得分:6)

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

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

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

类似的东西:

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

答案 1 :(得分: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;
}