Rumah > pembangunan bahagian belakang > tutorial php > 掌握数组循环遍历的四种方式

掌握数组循环遍历的四种方式

PHP中文网
Lepaskan: 2023-03-10 16:18:02
asal
3666 orang telah melayarinya

                               【(重点)数组循环遍历的四种方式】<br>   1、使用for循环遍历数组<br>     conut($arr);用于统计数组元素的个数。<br>     for循环只能用于遍历,纯索引数组!!!!<br>     如果存在关联数组,count统计时会统计两种数组的总个数,使用for循环遍历混合数组,导致数组越界!!<br> eg:<br>   $arr = array(1,2,3,5,6,7);<br>   $num = count($arr);        //count最好放到for外面,可以让函数只执行一次<br>   echo "数组元素的个数{$num}
";
<br>   for($i=0;$i<$num;$i++){
echo "{$i}==>{$arr[$i]}
";
<br> }<br> <br>  2、forEach循环遍历数组<br>     foreach可以遍历任何类型的数组!!!<br> 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>";
 }
Salin selepas log masuk
Salin selepas log masuk

<br>   举个例子解析如下数组:

$h51701 ==>=>,=>,=>=>,=>,=>=>,=>,=>=>=>,=>,=>=>,=>,=>=>,=>,=>=>=>,=>,=>=>,=>,=>=>,=>,=> ($h51701  $key => ($value  $key1 =>.($key1+). ($value1  $key2 =>
Salin selepas log masuk

<br>   使用list()、each()、while()遍历数组<br>   (重点)list():用于将数组的每一个值,赋值给list函数的每一个参数。(list函数的参数,必须小于等于数组的元素个数);<br>   eg:list($a,$b,$c)=[1,2,3];-->$a=1; $b=2; $c=3;<br>   注意:① list()在解析数组时,只解析索引数组;<br>        ② list可以通过空参数,选择性的解析数组的值;<br>          list($a,,$b)=[1,2,3];-->$a=1;  $b=3;<br>   (重点)each():用于返回数组当前指针所在位的键值对!并将指针后移一位;<br>       返回值:如果指针有下一位,返回一个数组。包含一个索引数组(0-键,1-值)和一个关联数组("key"-键,"value"-值);如果指针没有下一位,返回false;         <br>   eg: <br>    ① each($arr) 返回数组或false;<br>    ② 把数组或false赋值给$a;<br>    ③ while判断$a如果是数组,继续执行下一次;<br>             如果$a是false,终止循环<br>  while($a = each($arr)){<br>  echo "{$a[0]}-->{$a[1]}<br>";  <br>  echo "{$a['key']}-->{$a['value']}<br>";  <br>  } <br>   3.使用list()/each()/while()配合遍历数组

 while(list($key,$value) = each($arr)){
   echo "{$key}-->{$value}<br>";  
      }
     reset($arr);
Salin selepas log masuk

     !!!!数组使用each()遍历完一遍后,指针使用处于最后一位的下一位;即再用each(),始终返回false;<br>     如果还需使用,需用reset($arr);函数,重置数组指针;<br>  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>";
 }
Salin selepas log masuk
Salin selepas log masuk

 

 (=
Salin selepas log masuk

 

 while(list($key,$value) = each($arr)){
  echo "{$key}-->{$value}<br>";  
  }
  reset($arr);  while(list($key,$value) = each($arr)){
  echo "{$key}-->{$value}<br>";  
  }
Salin selepas log masuk

<br>  4、 使用数组指针遍历数组<br>   ① next:将数组指针,后移一位。并返回后一位的值;没有返回false<br>   ② prev:将数组指针,前移一位。并返回前一位的值;没有返回false<br>   ③ end:  将数组指针,移至最后一位,返回最后一位的值;空数组返回false<br>   ④ reset:将数组指针,恢复到第一位。并返回第一位的值;空数组返回false<br>   ⑤ key: 返回当前指针所在位的键;<br>   ⑥ current:返回当前指针所在位的值;

$arr = [,,,,=>((!
Salin selepas log masuk
do{
   echo key($arr);
   echo "--";
   echo current($arr);
  echo "<br>";
  }while(next($arr));
  reset($arr);
Salin selepas log masuk
<br>
Salin selepas log masuk

  牛刀小试:<br>   1.遍历数组:$subject1 = array("Linux","PHP","MySQL","HTML","CSS","JQuery")<br>  方式一:for循环遍历

for($i=0;$i<count($subject1);$i++){
     echo $subject1[$i]."<br/>";
   }
Salin selepas log masuk

  方式二:使用list()/each()/while()配合遍历数组

 .
(list($key,$value)=
Salin selepas log masuk

方式三:forEach循环遍历

foreach ($subject1 as $key => $value) {
   echo "{$key}-->{$value}<br/>";
  }
Salin selepas log masuk

 方式四:指针

 do{<br>   echo   key($subject1)."=>".current($subject1)."
";<br>  }while(next($subject1));<br>  echo "
";
Salin selepas log masuk

2.使用reset(),end(),prev(),next(),key(),current();与do…while组合倒着输出数组中的值:<br>  $subject2 = array(“Linux”,”PHP”,”MySQL”,”HTML”,”CSS”,”JQuery”)

 $subject2 = array("Linux","PHP","MySQL","HTML","CSS","JQuery");
    end($subject2);   do{
   echo key($subject2)."=>".current($subject2)."<br>";
  }while(prev($subject2));
Salin selepas log masuk

 

 

     <br> 

感觉不错就试试吧!!!

  <br> 

Atas ialah kandungan terperinci 掌握数组循环遍历的四种方式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan