其中包括:
類型:類型:標識符。
標識符:代表集合元素的叠代變量。如果叠代變量是值類型,則不能修改的只讀變量也是有效的。
表達式:對象的集合或數組表達式。集合元素的類型必須可轉換為標識符類型。請不要使用計算結果為null的表達式。
相反,它應被評估為實現IEnumerable或聲明GetEnumerator方法的類型。在後壹種情況下,GetEnumerator應返回實現IEnumerator的類型或聲明IEnumerator中定義的所有方法。
擴展數據
Php 4引入了foreach結構,它類似於Perl和其他語言。這只是壹種簡單的遍歷數組的方法。Foreach只能用於數組,當試圖將其用於其他數據類型或未初始化的變量時將會出錯。有兩種語法,第二種不太重要,但它是第壹種的有益擴展。
foreach(數組表達式為$值)語句。
第壹種格式遍歷給定的array_expression數組。在每個循環中,當前單元格的值被賦給$value,數組內部的指針向前移動壹步(因此下壹個單元格將在下壹個循環中獲得)。
foreach(array _ expression as $ key = & gt;$value)語句。
第二種格式做同樣的事情,除了當前單元格的鍵名也被分配給每個循環中的變量$key。
從php 5開始,遍歷對象也成為可能。註意:?當foreach開始執行時,數組內的指針將自動指向第壹個單元格。這是否意味著不需要在foreach循環之前調用它?重置()。
註意:除非引用了數組,否則foreach操作的是指定數組的副本,而不是數組本身。所以數組指針不會是。每個()?結構發生了變化,對返回的數組單元格的修改不會影響原始數組。但是,原始數組的內部指針在處理數組的過程中確實向前移動了。假設foreach循環運行到最後,原始數組的內部指針將指向數組的末尾。