foreach循環時調用current等函數

foreach循環時調用current等函數數組

clipboard.png

結果:函數

clipboard.png

按照以前說的,foreach先賦值,再移動指針,再執行循環體,第一次結果爲2能夠理解
爲何三次都是2呢?咋就這麼2呢?
由於current函數是按引用傳遞的函數spa

clipboard.png

在zval筆記中說了,一個zval不能既被引用,又被指向指針

因此,變量分離,從新拷貝一份數組,循環被拷貝的數組,而此時數組的指針指向第二個單元ip

固然,若是數組zval的is_ref爲1,則不會拷貝數組了it

clipboard.png

或者class

clipboard.png

結果:變量

clipboard.png

相關文章
相關標籤/搜索