php list()、each()和while循環遍歷數組

<?php
$fruit = array('a' => 'test_varlue_a', 'b' => 'test_varlue_b', 'c' => 'test_varlue_c');
reset($fruit);//將數組的內部指針指向第一個單元
/*each
 *each()函數處理當前數組中的第一個元素後,會自動將指針指向下一個元素;
 *如果指針已經在結束位置了,如果再使用each()獲取元素則返回false;
 * */
//當結束false 結束循環
while (list($key, $val) = each($fruit)) {//自PHP 7.2.0起,each此函數已被棄用。 非常不鼓勵依賴此功能
    //此處list()只會取出each函數中的索引0,1爲下標的對應值
    //因爲將一個數組賦值給另一個數組時會重置原來的數組指針,因此在上邊的例子中如果我們在循環內部將 $fruit 賦給了另一個變量的話將會導致無限循環
    //所以用list()方法把數組中的值賦給一組變量
    echo "$key => $val\n";
}
//與 foreach 的區別:foreach語句會自動重置數組的指針位置,當foreach開始執行時,數組內部的指針會自動指向第一個單元

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章