搜尋
首頁後端開發PHP問題php中循環數組的幾種方式是什麼

循環方式:1、使用for語句遍歷數組;2、使用foreach()語句遍歷數組;3、利用while語句配合list()、each()函數來遍歷數組;4、利用while語句配合key()、current()、next()等指標函數來遍歷數組。

php中循環數組的幾種方式是什麼

本教學操作環境: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[&#39;key&#39;]}-->{$a[&#39;value&#39;]}<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中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器