PHP array_Shift()突然停止

Eri*_*est 2 php arrays indexing element

我有一个简单的例子来说明我遇到了什么问题.

假设你有:

$myArray =  array("A","B","C","D","E","F","I","G","H");
Run Code Online (Sandbox Code Playgroud)

目标是在循环中删除此Array的第一个元素.

让我们说:

for($i=0; $i<count($myArray ); $i++){

    var_dump($myArray );

//...Remove the first Element of this array while $i is less than it's length.

    array_shift($myArray); 
}
Run Code Online (Sandbox Code Playgroud)

这删除了第element一个loop和第一个中的第一个,突然,它放弃了删除第一个Elements.

根据文档:

array_shift()将数组的第一个值移开并返回它,将数组缩短一个元素并将所有内容向下移动.将修改所有数值数组键以从零开始计数,而不会触及文字键.它暗示了这个例子.

   <?php 
         $stack = array("orange", "banana", "apple", "raspberry"); 
         $fruit = array_shift($stack); 
print_r($stack); 
?>
Run Code Online (Sandbox Code Playgroud)

输出:数组([0] =>香蕉[1] =>苹果[2] =>覆盆子)

示例清楚地显示了我想要的内容.但是,为什么不继续删除到最后element

如果这是它的设计方式.然后,无论如何都要实现第一个到最后一个元素删除/删除Array Element ...直到count($myArray) returns 0 (零).??

任何建议都非常感谢.

Mar*_*ler 5

只是:

while (count($myArray) > 0) {
    array_shift($myArray); 
}
Run Code Online (Sandbox Code Playgroud)

见演示