程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP foreach()函數僅限於數組使用

PHP foreach()函數僅限於數組使用

編輯:關於PHP編程

這只是一種遍歷數組簡便方法。PHP foreach()函數僅能用於數組,當試圖將其用於其它數據類型或者一個未初始化的變量時會產生錯誤。有兩種語法,第二種比較次要但卻是第一種的有用的擴展。

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

第一種格式遍歷給定的 array_expression 數組。每次循環中,當前單元的值被賦給 $value 並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。

第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變量 $key。

自PHP 5 起,還可能遍歷對象。

注: 當PHP foreach()函數開始執行時,數組內部的指針會自動指向第一個單元。這意味著不需要在 foreach 循環之前調用 reset()。

注: 除非數組是被引用,PHP foreach()函數所操作的是指定數組的一個拷貝,而不是該數組本身。因此數組指針不會被 each() 結構改變,對返回的數組單元的修改也不會影響原數組。不過原數組的內部指針的確在處理數組的過程中向前移動了。假定 foreach 循環運行到結束,原數組的內部指針將指向數組的結尾。

自 PHP 5 起,可以很容易地通過在 $value 之前加上 & 來修改數組的單元。此方法將以引用賦值而不是拷貝一個值。

  1. < ?php   
  2. $arr = array(1, 2, 3, 4);   
  3. foreach ($arr as &$value) {   
  4. $value = $value * 2;   
  5. }   
  6. // $arr is now array(2, 4, 6, 8)   
  7. ?>  

PHP foreach()函數的這個方法僅在被遍歷的數組可以被引用時才可用(例如是個變量)。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved