編輯:它可能是值得一提的是,each
已棄用
警告:此功能已被棄用的PHP 7.2.0的。依託這個功能是非常氣餒
讓我們先來看看each()
:它返回當前值(在第一這是$array[0 | "first value in association array ]
所以
$prices = ('x'=>100 , 'y'=>200 , 'z'= 300);
說我想遍歷這些陣列,而不使用一個foreach循環。
while($e = each($prices)){
echo $e[key] . " " . $e[value] . "<br/>" ;
}
當每個到達點處會導致 while循環終止非現有的元件。 當您撥打each()
時,它會爲您提供一個陣列,其中包含四個值和陣列位置的四個索引。位置「鍵」和0包含當前元素的鍵,位置「值」和1包含值 的當前元素。
所以這個循環將列出陣列的每個鍵的空間和值,那麼
其次讓我們來看看list()
。 它基本上會做同樣的事情與「價值」和「關鍵」的更名雖然它是在結合使用each()
while(list($k , $v) = each($prices)){
echo $k /*$e[key]*/ . " " . $v /*$e[value]*/ . "<br/>" ;
}
每次返回一個數組
所以簡而言之each()
迭代陣列上。 list()
重命名要在循環內部使用的數組的鍵值對。
注意:reset($prices)
:
復位each()
指針該陣列爲第一元件。
列表如何有用? – Strawberry 2010-02-12 00:05:30
@Doug - 爲一個返回多個值的函數。假設你有一個函數,當傳遞一個文件名時,它將把它的擴展名和MIME類型作爲一個雙元素數組返回。然後,您可以捕獲兩個值,例如'list($ ext,$ mime)= getTypes($ filename);'。 – 2010-02-12 00:12:14
更簡單,不太詳細的數組值提取到本地範圍。 請注意,不幸的是,它只適用於數字索引數組。 – Kzqai 2010-02-12 00:14:30