循環方式:1、使用for語句遍歷數組;2、使用foreach()語句遍歷數組;3、利用while語句配合list()、each()函數來遍歷數組;4、利用while語句配合key()、current()、next()等指標函數來遍歷數組。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
陣列循環遍歷的四種方式
1、使用for迴圈遍歷陣列
conut($arr);
用於統計陣列元素的數量。
for迴圈只能用於遍歷,純索引數組! ! ! !
如果存在關聯數組,count統計時會統計兩個數組的總個數,使用for迴圈來遍歷混合數組,導致數組越界! !
eg:
$arr = array(1,2,3,5,6,7); $num = count($arr); //count最好放到for外面,可以让函数只执行一次 echo "数组元素的个数{$num}<br/>"; for($i=0;$i<$num;$i++){ echo "{$i}==>{$arr[$i]}<br/>"; }
2、forEach迴圈遍歷陣列
foreach可以遍歷任何類型的陣列! ! !
eg:
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
舉例解析下列陣列:
$h51701 = array( "group1"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group2"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group3"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ) ); foreach ($h51701 as $key => $value) { echo "{$key}<br><br>"; foreach ($value as $key1 => $value1) { echo "第".($key1+1)."个同学<br>"; foreach ($value1 as $key2 => $value2) { echo "{$key2}==>{$value2}<br>"; } echo "<br>"; } echo "------------------------<br>"; }
3、使用list()、each()、while()遍歷陣列
#(重點)list():用來將陣列的每一個值,賦值給list函數的每一個參數。 (list函數的參數,必須小於等於數組的元素個數);
注意:
① list()在解析數組時,只解析索引數組;
# ② list可以通過空參數,選擇性的解析數組的值;
(重點)each():用來傳回數組目前指標所在位的鍵值對!並將指標後移一位;
傳回值:如果指標有下一位,則傳回一個陣列。包含一個索引數組(0-鍵,1-值)和一個關聯數組("key"-鍵,"value"-值);如果指標沒有下一位,返回false;
eg:
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr);### !!!!數組使用each()遍歷完一遍後,指標使用處於最後一位的下一位;即再用each(),始終返回false;######如果還需使用,需用reset($arr);函數,重置陣列指標;######eg:###
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
while(true){ $a = each($arr); if($a){ echo "{$a[0]}-->{$a[1]}<br>"; echo "{$a['key']}-->{$a['value']}<br>"; }else{ break; } }
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr); while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; }######4、 使用陣列指標遍歷陣列####### ##### ① next:將陣列指針,後移一位。並傳回後一位的值;沒有傳回false###### ② prev:將陣列指針,前移一位。並且傳回前一位的值;沒有回傳false###### ③ end: 將陣列指針,移至最後一位,傳回最後一位的值;空數組回傳false###### ④ reset:將數組指針,恢復到第一位。並傳回第一位的值;空數組回傳false###### ⑤ key:傳回目前指標所在位元的鍵;###### ⑥ current:傳回目前指標所在位元的值;###
$arr = [1,2,3,4,"one"=>5]; while(true){ echo key($arr); echo "--"; echo current($arr); echo "<br>"; if(!next($arr)){ break; } } reset($arr);//第二种方式: do{ echo key($arr); echo "--"; echo current($arr); echo "<br>"; }while(next($arr)); reset($arr);###推薦學習:《###PHP影片教學###》###
以上是php中循環數組的幾種方式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器