如何通过迭代删除数组中的所有元素

Program-Me-Rev

我有一个$scripts_stack = [];包含数组的数组:

$array_item = array('script' => $file_parts, 'handle' => $file_name, 'src' => $url);
array_push($scripts_stack, $array_item);

<?php

for ($i = 0; $i < sizeof($scripts_stack); $i++) {
    $child_array = $scripts_stack[$i];
    if (is_array($child_array)) {
        // Do things with $child_array, 
        // then remove the child array from $scripts_stack when done with (BELOW)
        unset($scripts_stack[$i]);
    }
}

echo "Array Size : " . (sizeof($scripts_stack)); // AT THE END

但是,我的尝试只删除了一半的元素。无论我尝试什么,只有一半的项目被删除。sizeof($scripts_stack)始终是开始时大小的一半。

我期待它会是空的// AT THE END

为什么我只删除了数组中的一半元素?

谢谢大家。

尸体

如其他答案中所述,$i增加但sizeof()数组缩小。foreach()可能是最灵活的数组循环,因为它公开了实际的键(而不是希望它从 0 开始并以 1 递增)和值:

foreach ($scripts_stack as $key => $child_array) {
    if (is_array($child_array)) {
        // Do things with $child_array, 
        // then remove the child array from $scripts_stack when done with (BELOW)
        unset($scripts_stack[$key]);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

迭代删除数组中的元素

来自分类Dev

使用.remove()删除数组中的所有元素

来自分类Dev

如何从数组中删除所有元素

来自分类Dev

如何从Mongodb中删除数组元素

来自分类Dev

如何删除数组元素中的空格?

来自分类Dev

删除数组中的所有元素 - 函数在数组末尾附加“未定义”

来自分类Dev

迭代时删除数组元素

来自分类Dev

如何在Spark中通过数据框中的索引删除数组中的元素

来自分类Dev

Javascript删除数组中的所有其他数组

来自分类Dev

删除数组中的元素

来自分类Dev

如何从MongoDB中的所有子数组中删除元素

来自分类Dev

如何从所有列中删除数字或文本元素

来自分类Dev

如何删除数组中所有相似的单词

来自分类Dev

无法删除数组中的迭代

来自分类Dev

使用jquery从JSON删除数组中的所有项目

来自分类Dev

Python删除数组中的所有负值

来自分类Dev

PHP - 删除数组中的所有重复项

来自分类Dev

如何从数组中删除所有List元素?

来自分类Dev

如何从数组中删除所有非数字元素?

来自分类Dev

如何从 NumPy 数组中删除所有出现的元素?

来自分类Dev

如何删除数组数据中特定字符之前的所有字符

来自分类Dev

如何从特定值上删除数组中的元素?

来自分类Dev

如何在PHP中删除数组元素?

来自分类Dev

如何使用RethinkDB删除数组中的元素

来自分类Dev

如何删除数组中特定位置的任何元素?

来自分类Dev

如何在json-c中删除数组元素?

来自分类Dev

如何删除数组PHP中的空元素

来自分类Dev

如何在json-c中删除数组元素?

来自分类Dev

如何使用PHP删除数组中的元素