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

青灯夜游
發布: 2023-03-14 08:02:01
原創
4726 人瀏覽過

循環方式: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!