国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php中數組遍歷循環實現程序

2024-09-04 11:45:53
字體:
來源:轉載
供稿:網友

在php中對數組遍歷用得最多要算是foreac,while,for這幾種方法了,下面我們來介紹這三種遍歷數組的實現程序代碼吧。

經常會有人問我,PHP的數組,如果用foreach來訪問,遍歷的順序是固定的么? 以什么順序遍歷呢?比如如下代碼:

  1. <?php$arr['laruence'] = 'huixinchen'
  2. $arr['yahoo'] = 2007; 
  3. $arr['baidu'] = 2008; 
  4. foreach ($arr as $key => $val)  
  5. //結果是什么? 

又比如如下代碼:

  1. <?php 
  2. $arr[2] = 'huixinchen'
  3. $arr[1] = 2007;$arr[0] = 2008; 
  4. foreach ($arr as $key => $val)  
  5. //現在結果又是什么? 

當我們使用each/next系列函數來遍歷的時候,也是通過移動數組的內部指針而實現了順序遍歷,這里有一個問題,比如如下代碼:

  1. <?php 
  2. $arr = array(1,2,3,4,5); 
  3. foreach ($arr as $v) {//可以獲取}  
  4. while (list($key$v) = each($arr)) 
  5.  {//獲取不到} 
  6. ?> 

了解到我剛才介紹的知識,那么這個問題也就很明朗了,因為foreach會自動reset,而while這塊不會reset,所以在foreach結束以后,pInternalPointer指向數組最末端, while語句塊當然訪問不到了,解決的辦法就是在each之前,先reset數組的內部指針.

也就是說, PHP中遍歷數組的順序, 是和元素的添加先后相關的, 那么, 現在我們就很清楚的知道,文章開頭的問題的輸出是:

huixinchen,2007,2008

所以,如果你想在數字索引的數組中按照索引大小遍歷,那么你就應該使用for,而不是foreach,代碼如下:

  1. for($i=0,$l=count($arr); $i<$l$i++)  
  2. //這個時候,不能認為是順序遍歷(線性遍歷)} 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 琼结县| 宁德市| 阿坝县| 巴楚县| 绍兴县| 桂林市| 芦山县| 丰宁| 疏勒县| 洮南市| 辽宁省| 云阳县| 庆城县| 青铜峡市| 高邮市| 上饶市| 顺昌县| 柳江县| 寻甸| 册亨县| 五华县| 虎林市| 永福县| 普陀区| 饶河县| 莲花县| 泸水县| 龙岩市| 鄂尔多斯市| 得荣县| 航空| 武强县| 项城市| 莱阳市| 上高县| 大埔县| 楚雄市| 榆树市| 营山县| 武夷山市| 上饶县|