五種遍歷方法:1、用“for($i=0;$i$v)” ;3、用「while(list($k,$v)=each(數組))」;4、用「array_map(回呼函數,數組)」等。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
php中遍歷數組的五種方法
方法1:使用for迴圈語句
for迴圈會將控制迴圈次數的變數預先定義在for語句中,因此for迴圈語句能夠依照已知的迴圈次數進行迴圈操作,適用於明確知道腳本需要執行的次數的情況。
for 迴圈的語法格式如下:
for (初始化语句; 循环条件; 变量更新--自增或自减) { 语句块; }
下面透過程式碼範例來具體看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"数学","梨子",3.14,"榴莲",12); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
輸出結果:
方法2:使用foreach循環語句
foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利;PHP5後還可以遍歷物件(foreach僅能夠應用於陣列和物件)。
foreach語句遍歷數組與數組下標無關,且可以用於不連續的索引數組和以字串為下標的關聯數組。
下面透過程式碼範例來具體看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); foreach ($array as $val){ echo "值是:" . $val ; echo "<br/>"; } echo "<br/>"; foreach ($array as $key => $value) { echo "键名为:".$key.",键值为:".$value . "<br/>"; } ?>
輸出結果:
遍歷給定的$array 數組,在每次循環中會將目前數組的值賦給 $value,鍵名賦給 $key。
方法3:利用while循環each() list()
each() 函數傳回數組中目前的鍵值並將陣列指標向前移動。在執行 each() 之後,數組指標將停留在數組中的下一個元素或當碰到數組結尾時停留在最後一個元素。
而list() 函數用於在一次運算中給一組變數賦值。
while循環each() 函數list() 函數可以遍歷數組,下面透過程式碼範例來看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
輸出結果:
方法4:使用array_map()函數
使用匿名函數的方式,處理陣列裡的每個元素。遍歷完成後傳回一個新的陣列
<?php $arr = ['a', 'b', 'c']; var_dump($arr); $arr = array_map(function ($item) { return $item . '_i'; }, $arr); var_dump($arr); ?>
你可以同時處理多個陣列
<?php header('content-type:text/html;charset=utf-8'); $arr_1 = ['a', 'b', 'c']; $arr_2 = ['你', '好', '吗', '原', '罪']; // $arr_n = [...]; $arr = array_map(function ($item_1, $item_2) { return $item_1 . '_' . $item_2 . '_i'; }, $arr_1, $arr_2); var_dump($arr); // ['a_你_i', 'b_好_i', 'c_吗_i', '_原_i', '_罪_i'] ?>
<?php $arr = ['a', 'b', 'c']; array_walk($arr, function (&$item) { $item = $item . '_i'; }); var_dump($arr); ?>############注意到###&$item### 了嗎,是的,多了個#####,代表你的形參是以引用傳遞接收資料的。你要做的就是想辦法改變這個參數。 ######推薦學習:《###PHP影片教學###》###
以上是php中遍歷陣列的五種方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!