淺析PHP遍歷數組使用方法
我們大家都認識到了數組的優越性,現在我們將學習怎樣PHP遍歷數組中的數據。這種操作數組方法的應用是非常普遍的,我相信你會掌握得很好。比如你的網站存有大量的網址數據,你想在一個頁面顯示門戶網站網址,這些數據已經保存到了一個數組變量$url里,那么怎樣把這些數據一個一個輸出到網頁里呢?你還想象上節課那樣一個一個echo輸出嗎?別忘了數據量是非常大而且數據的個數是經常變化的噢。PHP當然會有簡單的辦法,先看一個例子:
- foreach
- <?php
- $url=array('新浪'=>'www.sina.com',
- '雅虎'=>'www.yahoo.com',
- '網易'=>'www.163.com',
- '騰訊'=>'www.qq.com',
- '百度'=>'www.baidu.com'
- );
- foreach($urlas$link){
- echo$link.'<br><br>';
- }
- ?>
上面的代碼中我們用到了foreach語句,這是一個用來PHP遍歷數組中數據的最簡單有效的方法。
foreach僅能用于數組,當試圖將其用于其它數據類型或者一個未初始化的變量時會產生錯誤。有兩種語法,第二種比較次要但卻是第一種的有用的擴展。
PHP遍歷數組語法:
- foreach(array_expressionas$value)statement
#T#這種格式遍歷給定的array_expression數組,as是關鍵詞。每次循環中,當前單元的值被賦給$value并且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。statement是后續操作,如果有多個語句,你可以象上例那樣采用大括號包含。上例中,我們循環讀取數組$url中的每個單元,并且每次都把該單元的值賦值給變量$link,再echo打印輸出這個$link的值,然后再進行下一次循環直到數組中不再有數據。你動手試了嗎?如果你試了,看到輸出結果是不是覺得很有趣呢?我知道一會兒你就又有疑問了:為什么沒有“新浪”“網易”這樣的站名呢?要怎樣做才能得到呢?
在$url數組定義中,“新浪”“網易”等都是作的鍵名而不是數組的值,我們的第一種語法只是循環取得數組中每個值。