首頁 >後端開發 >PHP問題 >php中遍歷陣列的五種方法是什麼

php中遍歷陣列的五種方法是什麼

青灯夜游
青灯夜游原創
2022-05-10 17:17:115871瀏覽

五種遍歷方法:1、用“for($i=0;$i$v)” ;3、用「while(list($k,$v)=each(數組))」;4、用「array_map(回呼函數,數組)」等。

php中遍歷陣列的五種方法是什麼

本教學操作環境: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/>";
} 
?>

輸出結果:

php中遍歷陣列的五種方法是什麼

方法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/>";
} 
?>

輸出結果:

php中遍歷陣列的五種方法是什麼

遍歷給定的$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>";
}
?>

輸出結果:

php中遍歷陣列的五種方法是什麼

方法4:使用array_map()函數

使用匿名函數的方式,處理陣列裡的每個元素。遍歷完成後傳回一個新的陣列

<?php
$arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
var_dump($arr);
$arr = array_map(function ($item) {
    return $item . &#39;_i&#39;;
}, $arr);
var_dump($arr);
?>

php中遍歷陣列的五種方法是什麼

你可以同時處理多個陣列

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr_1 = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
$arr_2 = [&#39;你&#39;, &#39;好&#39;, &#39;吗&#39;, &#39;原&#39;, &#39;罪&#39;];
// $arr_n = [...];
$arr = array_map(function ($item_1, $item_2) {
    return $item_1 . &#39;_&#39; . $item_2 . &#39;_i&#39;;
}, $arr_1, $arr_2);

var_dump($arr); // [&#39;a_你_i&#39;, &#39;b_好_i&#39;, &#39;c_吗_i&#39;, &#39;_原_i&#39;, &#39;_罪_i&#39;]
?>

php中遍歷陣列的五種方法是什麼

php中遍歷陣列的五種方法是什麼

#######################方法5:使用array_walk()函數#########以引用傳遞的形式遍歷你的數組,沒有傳回值,只能處理一個陣列。 ###
<?php
$arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
array_walk($arr, function (&$item) {
    $item = $item . &#39;_i&#39;;
});

var_dump($arr); 
?>
############注意到###&$item### 了嗎,是的,多了個#####,代表你的形參是以引用傳遞接收資料的。你要做的就是想辦法改變這個參數。 ######推薦學習:《###PHP影片教學###》###

以上是php中遍歷陣列的五種方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn