php的array-shift经常用来控制循环输出while的结束,但是昨天在运行我自己写的代码的时候发现一个问题,如果有如下数组 则循环会提前退出。
array([1]=>1[2]=> [3]=>3)
用sizeof判断数组长度会发现,数组长度为三,用while($a=array_shift($b))的话 输出的只有 1
ps:仔细想来,这个问题应该是while判断循环结束方法的问题,不能算是array_shift 的问题。
while判断$a是否值为真,0 ,‘’ 和false 都是一样。