在php中對數組遍歷用得最多要算是foreac,while,for這幾種方法了,下面我們來介紹這三種遍歷數組的實現程序代碼吧。
經常會有人問我,PHP的數組,如果用foreach來訪問,遍歷的順序是固定的么? 以什么順序遍歷呢?比如如下代碼:
又比如如下代碼:
當我們使用each/next系列函數來遍歷的時候,也是通過移動數組的內部指針而實現了順序遍歷,這里有一個問題,比如如下代碼:
了解到我剛才介紹的知識,那么這個問題也就很明朗了,因為foreach會自動reset,而while這塊不會reset,所以在foreach結束以后,pInternalPointer指向數組最末端, while語句塊當然訪問不到了,解決的辦法就是在each之前,先reset數組的內部指針.
也就是說, PHP中遍歷數組的順序, 是和元素的添加先后相關的, 那么, 現在我們就很清楚的知道,文章開頭的問題的輸出是:
huixinchen,2007,2008
所以,如果你想在數字索引的數組中按照索引大小遍歷,那么你就應該使用for,而不是foreach,代碼如下:
上一篇 二種遍歷關聯數組的方法
下一篇 php郵箱發送類代碼