我有这个数组
[20_fill_1] => Array
(
[autoTuned] => Array
(
[0] => fill-0*6.35*6.6*legitPhraseWith*VMWshkqbhfA*fill_3.mp4
)
[fill] => Array
(
[0] => fill-0*6.35*6.6*subwordPhraseWith*VMWshkqbhfA*fill_4.mp4
)
[1] => fill-0*6.35*6.6*legitPhraseWith*VMWshkqbhfA*fill_3.mp4
[ill] => Array
(
[oil] => Array
(
[0] => oil-0*6.8*7.05*similarSubwordPhraseWith*HZNbg-1bz1c*oil_4.mp4
)
)
)
没有[0]的原因是因为我没有设置它。现在我希望[1]成为新的[0],如果有更多的数字键,我希望它们也改变,所以数字键是有序的。但是,我需要保留字符串键。
编辑:在删除第0个元素之前,这是数组:
[20_fill_1] => Array
(
[0] => added#fill-0*6.35*6.6*subwordPhraseWith*VMWshkqbhfA*fill_4.mp4
[autoTuned] => Array
(
[0] => fill-0*6.35*6.6*legitPhraseWith*VMWshkqbhfA*fill_3.mp4
)
[fill] => Array
(
[0] => fill-0*6.35*6.6*subwordPhraseWith*VMWshkqbhfA*fill_4.mp4
)
[1] => fill-0*6.35*6.6*legitPhraseWith*VMWshkqbhfA*fill_3.mp4
[ill] => Array
(
[oil] => Array
(
[0] => oil-0*6.8*7.05*similarSubwordPhraseWith*HZNbg-1bz1c*oil_4.mp4
)
)
)
答案 0 :(得分:1)
如果你的数组不是很大,你可以构建另一个数组:
&
$output = [];
foreach ($original as $key => $item):
if(is_string($key)) $output[$key] = $item;
else $output[] = $item;
endforeach;
就是你想要的。
你也可以在数组的开头取消(插入)一个虚拟元素,然后移动(移除)它。这将重新键入数字键并保留字符串键:
$output
感谢@brennonbrimhall的灵感。
答案 1 :(得分:0)
请考虑使用array_shift
,而不是取消设置0th
元素。它将自动删除0th
元素,重新索引其他数字索引,并保留非数字键和值。