php中list,each,foreach的區別

2021-04-18 09:26:56 字數 1402 閱讀 4610

list,each,foreach進行**說明

<?php $data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3'); while($element = each($data)) reset($data); /*

返回 array 陣列中當前指標位置的鍵/值對並向前移動陣列指標。鍵值對被返回為四個單元的陣列,鍵

值為 0,1,key 和 value。單元 0 和 key 包含有陣列單元的鍵名,1 和 value 包含有資料。如果內部

指標越過了陣列的末端,則each()返回false。 */

while(list($subscript,$value) = each($data))

reset($data);

/*在執行each()之後,陣列指標將停留在陣列中的下乙個單元或者當碰到陣列結尾時停留在最後乙個單元。如果要再用 each 遍歷陣列,必須使用

reset()

*/foreach($data as $subscript => $value) //$subscript,下標索引 ,$value值;

/*這只是一種遍歷陣列簡便方法。

foreach 僅能用於陣列,當試圖將其用於其它資料型別或者乙個未初始化的變數時會產生錯誤。當

foreach 開始執行時,陣列內部的指標會自動指向第乙個單元。這意味著不需要在

foreach 迴圈之前呼叫

reset()

。 除非陣列是被

引用,foreach 所操作的是指定陣列的乙個拷貝,而不是該陣列本身。因此陣列指標不會被

each()

結構改變,對返回的陣列單元的修改也不會影響原陣列。不過原陣列的內部指標

的確在處理陣列的過程中向前移動了。假定 foreach 迴圈執行到結束,原陣列的內部指標將指向陣列的結尾。 自 php 5 起,可以很容易地通過在

$value 之前加上 & 來修改陣列的單元。此方法將以

引用賦值而不是拷貝乙個值。

*/?>

執行結果:

a data1 array ( [1] => data1 [value] => data1 [0] => a [key] => a ) b data2 array ( [1] => data2 [value] => data2 [0] => b [key] => b ) c data3 array ( [1] => data3 [value] => data3 [0] => c [key] => c ) a=>data1 b=>data2 c=>data3 a => data1 :: a => data1 b => data2 :: b => data2 c => data3 :: c => data3

php中mysql函式 php中mysql有關函式

1.mysql query 一般是用來查詢資料裡面的資料。如 username post name sql select from members where login name username result mysql query sql 以上程式是檢測資料庫中是否存在表單傳送過來的使用者名稱...

php 中set是什麼 PHP中

php中把以兩個下劃線 開頭的方法稱為魔術方法 magic methods 這些方法在php中充當了舉足輕重的作用。其中 set 設定乙個類的成員變數時呼叫 set 的作用 set property,value 方法用來設定私有屬性,給乙個未定義的屬性賦值時,此方法會被觸發,傳遞的引數是被設定的屬性...

php 中set是什麼 PHP中

php中把以兩個下劃線 開頭的方法稱為魔術方法 magic methods 這些方法在php中充當了舉足輕重的作用。其中 set 設定乙個類的成員變數時呼叫 set 的作用 set property,value 方法用來設定私有屬性,給乙個未定義的屬性賦值時,此方法會被觸發,傳遞的引數是被設定的屬性...