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

Php 从父数组中删除第一个数组集,php,arrays,Php,Arrays,我有一个数组,其中包含许多数组集。第一个(外部)数组有一个可更改的键。我的目标是输入父数组(同样,键未知)并删除第一个数组集。数组集的键从零开始递增-理想情况下,这些键将被重新索引 Array ( [changeable] => Array ( [0] => Array

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

            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
                            )

                    )

            )
我考虑过在数组本身上使用一个计数递增的foreach循环

问题似乎是在外部数组的键未知时访问数组集。例如,下面的代码无法访问数组集(密钥名为,只是未知或可更改)

这里是预期的数组-注意:“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
                            )

                    )

            )
如果我能正确理解你的问题,你可以使用

$array = [];
        $array['random_key1'] = [
            [

                'name' => 'Alpha',
                'score' => 1
            ],
            [

                'name' => 'Beta',
                'score' => 1
            ],
            [

                'name' => 'Gamma',
                'score' => 4
            ],
            [

                'name' => 'Delta',
                'score' => 3
            ],
            [

                'name' => 'Epsilon',
                'score' => 2
            ],
            [

                'name' => 'Zeta',
                'score' => 2
            ]
        ];

 $array['random_key2'] = [
            [

                'name' => 'Alpha',
                'score' => 1
            ],
            [

                'name' => 'Beta',
                'score' => 1
            ],
            [

                'name' => 'Gamma',
                'score' => 4
            ],
            [

                'name' => 'Delta',
                'score' => 3
            ],
            [

                'name' => 'Epsilon',
                'score' => 2
            ],
            [

                'name' => 'Zeta',
                'score' => 2
            ]
        ];



foreach($array as &$value) {
  array_shift($value);
}


echo '<pre>';
print_r($array);
$array=[];
$array['random_key1']=[
[
'name'=>'Alpha',
“分数”=>1
],
[
'名称'=>'测试版',
“分数”=>1
],
[
'名称'=>'伽马',
“分数”=>4
],
[
'name'=>'Delta',
“分数”=>3
],
[
'name'=>'Epsilon',
“分数”=>2
],
[
“name”=>“Zeta”,
“分数”=>2
]
];
$array['random_key2']=[
[
'name'=>'Alpha',
“分数”=>1
],
[
'名称'=>'测试版',
“分数”=>1
],
[
'名称'=>'伽马',
“分数”=>4
],
[
'name'=>'Delta',
“分数”=>3
],
[
'name'=>'Epsilon',
“分数”=>2
],
[
“name”=>“Zeta”,
“分数”=>2
]
];
foreach($array as&$value){
数组移位($value);
}
回声';
打印(数组);

听起来你可能在寻找
数组\u shift
。我甚至不知道你想做什么。您能给出输入和所需结果的示例吗?如果您不知道这些键,可以使用
array\u keys()
获取它们。您还可以使用诸如
reset()
key()
之类的函数。更新为before和expectedHey,您只需使用array\u shift($array[change]),这里$array是原始数组变量名
$array = [];
        $array['random_key1'] = [
            [

                'name' => 'Alpha',
                'score' => 1
            ],
            [

                'name' => 'Beta',
                'score' => 1
            ],
            [

                'name' => 'Gamma',
                'score' => 4
            ],
            [

                'name' => 'Delta',
                'score' => 3
            ],
            [

                'name' => 'Epsilon',
                'score' => 2
            ],
            [

                'name' => 'Zeta',
                'score' => 2
            ]
        ];

 $array['random_key2'] = [
            [

                'name' => 'Alpha',
                'score' => 1
            ],
            [

                'name' => 'Beta',
                'score' => 1
            ],
            [

                'name' => 'Gamma',
                'score' => 4
            ],
            [

                'name' => 'Delta',
                'score' => 3
            ],
            [

                'name' => 'Epsilon',
                'score' => 2
            ],
            [

                'name' => 'Zeta',
                'score' => 2
            ]
        ];



foreach($array as &$value) {
  array_shift($value);
}


echo '<pre>';
print_r($array);