php使用组合的数字键和字符串键重新索引关联数组中的数字键

php使用组合的数字键和字符串键重新索引关联数组中的数字键,php,arrays,Php,Arrays,我有这个数组 [20_fill_1] => Array ( [autoTuned] => Array ( [0] => fill-0*6.35*6.6*legitPhraseWith*VMWshkqbhfA*fill_3.mp4 ) [fill] => Array ( [0] => fil

我有这个数组

 [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
                    )

            )

    )

<>而不是取消< <代码>零>代码>元素,考虑使用。它将自动删除
0th
元素,重新索引其他数值索引,并保留非数值键和值。

如果您的数组不是很大,您可以构建另一个数组:

$output = [];

foreach ($original as $key => $item):
  if(is_string($key)) $output[$key] = $item;
  else $output[] = $item;
endforeach;
$output
是您想要的

更新: 您还可以在数组的开头取消移动(插入)一个伪元素,然后移动(移除)它。这将重新设置数字键并保留字符串键:

array_unshift($original,'dummy');
array_shift($original);

感谢@brennonbrimhall提供的灵感。

在我看来,您可能想支持并想出另一种解决问题的方法。你到底想在这里完成什么?我相信你可以拼凑出一种方法来做你想做的事情,但无论你想做什么,这都是一种丑陋的方法。我正在设置第一个数组维度中包含特定值的值string@I需要帮助请尽可能地具体一些,更好地解释你的理由,以便其他人能更好地帮助你:)请为您的输入呈现更大/更好的表示形式,并显示您的预期结果。有时它不是我要删除的第一个元素,而是一个巨大的多维数组:/@Ineedhelp必须保持元素顺序吗?重新设置关键帧只是为了顶级数组,对吗?(换句话说,你不需要进入多维空间来重新设置子数组的键。@Ineedhelp我更新了我的答案,这样你就不需要在内存中创建第二个数组,因为你的输入是一个巨大的数组。
array\u unshift()!