您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“php中遍歷數(shù)組的方法有哪些”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“php中遍歷數(shù)組的方法有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
五種遍歷方法:1、用“for($i=0;$i<數(shù)組長度;$i++)”;2、用“foreach(數(shù)組 as="">$v)”;3、用“while(list($k,$v)=each(數(shù)組))”;4、用“array_map(回調(diào)函數(shù),數(shù)組)”等。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php中遍歷數(shù)組的五種方法
方法1:使用for循環(huán)語句
for循環(huán)會將控制循環(huán)次數(shù)的變量預(yù)先定義在for語句中,因此for循環(huán)語句能夠按照已知的循環(huán)次數(shù)進(jìn)行循環(huán)操作,適用于明確知道腳本需要運行的次數(shù)的情況。
for 循環(huán)的語法格式如下:
for (初始化語句; 循環(huán)條件; 變量更新--自增或自減) { 語句塊; }
下面通過代碼示例來具體看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"數(shù)學(xué)","梨子",3.14,"榴蓮",12); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
輸出結(jié)果:
方法2:使用foreach循環(huán)語句
foreach是專門為遍歷數(shù)組而設(shè)計的語句,是遍歷數(shù)組時常用的方法,在遍歷數(shù)組方面提供了很大的便利;PHP5后還可以遍歷對象(foreach僅能夠應(yīng)用于數(shù)組和對象)。
foreach語句遍歷數(shù)組與數(shù)組下標(biāo)無關(guān),且可以用于不連續(xù)的索引數(shù)組和以字符串為下標(biāo)的關(guān)聯(lián)數(shù)組。
下面通過代碼示例來具體看看:
<?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/>"; } ?>
輸出結(jié)果:
遍歷給定的 $array 數(shù)組,在每次循環(huán)中會將當(dāng)前數(shù)組的值賦給 $value,鍵名賦給 $key。
方法3:利用while循環(huán)+each()+list()
each() 函數(shù)返回數(shù)組中當(dāng)前的鍵值并將數(shù)組指針向前移動。在執(zhí)行 each() 之后,數(shù)組指針將停留在數(shù)組中的下一個元素或者當(dāng)碰到數(shù)組結(jié)尾時停留在最后一個元素。
而list() 函數(shù)用于在一次操作中給一組變量賦值。
while循環(huán)+each() 函數(shù)+ list() 函數(shù)可以遍歷數(shù)組,下面通過代碼示例來看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
輸出結(jié)果:
方法4:使用array_map()函數(shù)
使用匿名函數(shù)的方式,處理數(shù)組里的每個元素。遍歷完成后返回一個新的數(shù)組
<?php $arr = ['a', 'b', 'c']; var_dump($arr); $arr = array_map(function ($item) { return $item . '_i'; }, $arr); var_dump($arr); ?>
你可以同時處理多個數(shù)組
<?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'] ?>
方法5:使用array_walk()函數(shù)
以引用傳遞的形式遍歷你的數(shù)組,沒有返回值,而且只能處理一個數(shù)組。
<?php $arr = ['a', 'b', 'c']; array_walk($arr, function (&$item) { $item = $item . '_i'; }); var_dump($arr); ?>
注意到 &$item
了嗎,是的,多了個&
,代表著你的形參是以引用傳遞接收數(shù)據(jù)的。你要做的就是想辦法改變這個參數(shù)。
讀到這里,這篇“php中遍歷數(shù)組的方法有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。