Home  >  Article  >  Backend Development  >  Master four ways to loop through arrays

Master four ways to loop through arrays

PHP中文网
PHP中文网Original
2017-06-21 17:35:143453browse

[(Key) Four ways of circulating through arrays]
1.
## conut($arr); used to count the number of array elements.
The for loop can only be used to traverse, pure index arrays! ! ! !
If there is an associative array, the total number of the two arrays will be counted during count statistics, and a for loop will be used to traverse the mixed array, causing the array to go out of bounds! !
eg:
$arr = array(1,2,3,5,6,7);
$num = Count ($ Arr); // Count is best placed outside the outside, which can allow the function to execute only ## Echo. br/>";
for($i=0;$i<$num;$i++){
echo "{$i}==> ;{$arr[$i]}
";
}


2. forEach loops through the array foreach can traverse any type of array! ! !
eg:

 $arr = array(1,2,3,"one"=>4,5,6,7);   foreach($arr as $value){
  echo "{$item}
";  } foreach($arr as $key => $value){   echo "{$key}==>{$item}
";  }


##An example is as follows Array:

$h51701 ==>=>,=>,=>=>,=>,=>=>,=>,=>=>=>,=>,=>=>,=>,=>=>,=>,=>=>=>,=>,=>=>,=>,=>=>,=>,=> ($h51701  $key => ($value  $key1 =>.($key1+). ($value1  $key2 =>


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

  echo "{$a['key']}-->{$a['value']}
";  

  } 
   3.使用list()/each()/while()配合遍历数组

 while(list($key,$value) = each($arr)){
   echo "{$key}-->{$value}
";         }      reset($arr);

     !!!!数组使用each()遍历完一遍后,指针使用处于最后一位的下一位;即再用each(),始终返回false;
     如果还需使用,需用reset($arr);函数,重置数组指针;
  eg:

 $arr = array(1,2,3,"one"=>4,5,6,7);   foreach($arr as $value){
  echo "{$item}
";  } foreach($arr as $key => $value){   echo "{$key}==>{$item}
";  }

 

 (=

 

 while(list($key,$value) = each($arr)){
  echo "{$key}-->{$value}
";     }   reset($arr);  while(list($key,$value) = each($arr)){   echo "{$key}-->{$value}
";     }


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

$arr = [,,,,=>((!
do{
   echo key($arr);
   echo "--";
   echo current($arr);
  echo "
";   }while(next($arr));   reset($arr);

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

for($i=0;$i";
   }

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

 .
(list($key,$value)=

方式三:forEach循环遍历

foreach ($subject1 as $key => $value) {
   echo "{$key}-->{$value}
";   }

 方式四:指针

 do{
   echo   key($subject1)."=>".current($subject1)."
";
  }while(next($subject1));
  echo "
";

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

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

 

 

     
 

感觉不错就试试吧!!!

  
 

The above is the detailed content of Master four ways to loop through arrays. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn