【发布时间】:2017-05-26 18:53:06
【问题描述】:
我有一个数组$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) 始终是开始时大小的一半。
我希望它会是空的//在最后
为什么我只删除了数组中的一半元素?
提前谢谢大家。
【问题讨论】:
-
使用
foreach在这里阅读php.net/manual/en/control-structures.foreach.php#88578