使用unset后嵌套数组的问题



我有一个动态构建的嵌套数组,我需要从中删除一个或多个索引。

在浏览了php信息页面后,我发现使用
unset($quotes_array[0]['methods'][3]);

将删除数组中最后一组数据。

但是,如果我尝试使用

unset($quotes_array[0]['methods'][0]);

或除最后一个之外的任何其他集合,它会扰乱从数组生成的输出。

例如,如果我有a,b,c,d:我可以毫无问题地删除d,但如果我试图删除a,当处理数组数据时,我得到一个空白的单选按钮,后面跟着b,c, d一起丢失。

我假设我需要重新索引数组,但到目前为止我所做的每一次尝试都未能给出所需的结果,最有可能的原因是我重新索引$quotes_array,而我实际上需要重新索引的数据是在'方法'索引。

有办法解决这个问题吗?

如果使用array_shift,则很容易取消 first element 的设置。Array_shift将弹出第一个元素并为您重新索引数组。

array_shift($quotes_array[0]['methods']);

如果您需要取消 something in the middle 的设置(例如[2]out of[3]),您可以使用array_values。首先取消要删除的元素的设置,然后使用array_values重新索引它们。

unset($quotes_array[0]['methods'][2]);
array_values($quotes_array[0]['methods']);

如果你想删除数组的 last element ,你可以使用array_pop。Array_pop将从数组中弹出最后一个元素。在这种情况下不需要重新索引。

array_pop($quotes_array[0]['methods']);

try

array_values($quotes_array[0]['methods']);

相关内容

  • 没有找到相关文章

最新更新