从父数组中删除第一个数组集

时间:2018-09-27 21:03:09

标签: php arrays

我有一个数组,其中包含许多数组集。第一个(外部)数组具有一个更改的键。我的目标是输入父数组(再次,键未知)并删除第一个数组集。数组集的键从零开始递增-理想情况下,这些键将被重新索引。

我考虑过在数组本身上使用带有递增计数的foreach循环array_splice。

当外部数组的键未知时,问题似乎出在访问数组集。例如,下面的代码不适用于访问数组集(键名为,只是未知或可变的。)

foreach ($array[0] as $item)
{
    if ($i < 1)
    {
        unset($item[0]);
    }
    $i++;
}

如果我使用array_splice,则可能会删除foreach。

这是原始数组:

            Array
            (
                [changeable] => Array
                    (
                        [0] => Array
                            (
                                [name] => Alpha
                                [score] => 1
                            )

                        [1] => Array
                            (
                                [name] => Beta
                                [score] => 1
                            )

                        [2] => Array
                            (
                                [name] => Gamma
                                [score] => 4
                            )

                        [3] => Array
                            (
                                [name] => Delta
                                [score] => 3
                            )

                        [4] => Array
                            (
                                [name] => Epsilon
                                [score] => 2
                            )

                        [5] => Array
                            (
                                [name] => Zeta
                                [score] => 2
                            )

                    )

            )

这是预期的数组-注意:“ alpha”数组已删除,键已重新索引。

            Array
            (
                [changeable] => Array
                    (
                        [0] => Array
                            (
                                [name] => Beta
                                [score] => 1
                            )

                        [1] => Array
                            (
                                [name] => Gamma
                                [score] => 4
                            )

                        [2] => Array
                            (
                                [name] => Delta
                                [score] => 3
                            )

                        [3] => Array
                            (
                                [name] => Epsilon
                                [score] => 2
                            )

                        [4] => Array
                            (
                                [name] => Zeta
                                [score] => 2
                            )

                    )

            )

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,则可以使用array_shift进行此操作。

$_POST