你这两个遍历,前三次都是一样的,最主要是看第四次:
第一个退出条件,是在进入遍历前是计算好的确定值,所以当i等于3,条件为3<3,为假,跳出循环
第二个退出条件,是每次遍历后重新计算的,而当i等于3时,调试输出(aa[3]),这个值不存在,但这一步就相当于给aa[3]赋值为null。
此时数组为 array("0"=1,"1"=2,"这是特殊"="特殊","2"=null) ,取数组大小为4
所以退出条件为 3 < 4 ,为真,继续循环,此后为4 < 5 , 5 < 6 , 6 < 7........... 等等
如果你把 aa["这是特殊"]="特殊" 去掉就没事了
你自己下断点,慢慢调试你就明白了
代码:
遍历(变量 i = 0; i < (数量=数组大小(aa)); i++)
调试输出(aa[i])
调试输出(aa)
结束 |