php陣列遍歷

2021-09-01 16:42:06 字數 1120 閱讀 5839

來說下php陣列的遍歷,可能很多人會質疑,陣列的遍歷有啥好說的,乙個for迴圈,不就出來了,其實不然,for迴圈遍歷php陣列是最糟糕的php**,下面對比詳細分析下。

大家都知道c++,c#在定義陣列的時候會在棧區分配連續固定大小的記憶體空間給陣列變數,c++一般用for迴圈遞增偏移量遍歷陣列;c#除了for迴圈,還可以使用foreach遍歷;那php呢??經常會看到下面的**:

<?php

$arr = array(

0=>"zxp",

1=>"male",

2=>"北京西三旗"

);for($i=0;$i

這樣的**暫時沒問題,但是容錯性特低,健壯性特差,一不小心就出錯了。php陣列並不是連續的記憶體空間,無法使用連續的偏移量遍歷陣列,並且php陣列可伸縮,比如上面**$arr插入乙個元素$arr[5]=5,for迴圈肯定要出錯了。

php陣列遍歷要使用foreach和while,下邊分別給出這兩種遍曆法

<?php

$arr = array(

//"comment"=>"personal information",

0=>"zxp",

1=>"male",

"age"=>29,

2=>"北京西三旗"

);$arr[4] = "高階開發工程師";

foreach ($arr as $key => $value)

?>

如上**,遍歷的事情交給foreach,遍歷到的陣列元素,鍵名賦值給$key,值賦值給$value。

<?php

$arr = array(

0=>"zxp",

1=>"male",

"age"=>29,

2=>"北京西三旗"

);reset($arr);

while (list($key,$value) = each($arr))

?>

如上**,陣列遍歷的事情交給each函式。在使用while迴圈加list操作加each函式遍歷php陣列的時候一定要注意:在while迴圈前,呼叫下reset函式,將陣列指標指向第乙個元素,不然,你會發現遍歷出來的元素不夠數目。

php陣列遍歷

陣列的遍歷 1.使用for語句迴圈遍歷陣列 a.其它語言 只有這一種方式 b.php中這種方式不是我們首選方式 c.陣列必須是索引陣列,而且下標還必須是連續的 索引陣列下標還可以不連序,陣列還有關聯陣列 2.使用foreach語句迴圈遍歷陣列 foreach 陣列變數 as 變數值 a.迴圈次數由陣...

php遍歷mysql陣列中 遞迴遍歷PHP多維陣列

陣列的遍歷是php乙個常見的程式設計任務,而陣列又分為一維陣列 二維陣列和多維陣列。一維陣列的遍歷很簡單,直接乙個for迴圈就可以完成。那麼二維陣列和多維陣列的遍歷又應該如何實現呢?請看以下程式 author nowamagic url www.nowamagic.net date 2011 03 ...

PHP陣列的遍歷

用for迴圈對索引陣列進行遍歷 定義乙個陣列 arr array aa bb cc dd 求得陣列的長度 len count arr 用for迴圈遍歷 for i 0 i len i 用for迴圈對關聯陣列進行遍歷 定義乙個陣列 arr array 姓名 小強 年齡 21 性別 男 求得陣列單元數 ...