zoukankan      html  css  js  c++  java
  • php数组中常用的多种遍历方式

      1 <?php
      2 /* 1使用 for语句循环遍历数组
      3     a 其他语句(只有这一种方式)
      4 *   b. php  这种方式不是我们首选方式
      5     c数组必须是索引数组,而且下标还必须是连续的才能遍历
      6     (索引数组下标还可以不连续, 数组还有关联数组)
      7 *2 使用foreach 语句循环遍历语句
      8   foreach(数组变量 as变量值)
      9   
     10   {
     11       //循环体
     12   }
     13   a 循环次数由数组的元素个数决定
     14   b //每次循环 都会将数组中的元素分别赋值给后面的变量
     15   foreach(数组变量as 下标变量=>值变量)
     16 
     17 *3 while() list() echo 组合循环遍历数组
     18 echo()函数 ,a需要一个数组作为参数;
     19 b返回来的也是数组
     20 c  返回来的数组是0,1,key value 四个下标(固定的)
     21    0 和 key下标是当前参数数组元素的键
     22    1和value下标是当前参数数组元素的值
     23 d默认当前元素是一个元素 
     24 e每执行一次后就会将当前元素向后移动
     25 f如果到最后的元素在执行这个函数,则返回false
     26 list()函数
     27 
     28 
     29  a. list()=array();需要将一个数组赋值给这个函数
     30 b.这个数组中的元素个数要和list函数中的参数个数相同
     31 c.数组中的每个元素值会赋值给list函数中的每个参数,list将买个参数转为变量
     32 d .list只能接受索引数组
     33 e 按照索引下标的顺序
     34 */
     35 
     36 list($name,$age,$sex)=array("张三","10","nan");
     37 list(,,$sex)=array("张三","10","nan");
     38 list($name,,$sex)=array("张三","10","nan");
     39 echo $name."<br>";
     40 echo $age."<br/>";
     41 echo $sex."<br/>";
     42 
     43   $ip="192.168.1.128";
     44    $ips=explode(".","$ip");
     45    print_r($ips);
     46 
     47    list(,,,$num2)=explode(".","$ip");
     48    
     49    
     50    echo $num2."<br/>";
     51 
     52 $user=array(1,"张三","40","李四"=>"nan","abcd@sina.com" );
     53 
     54 for($i=0;$i<count($user);$i++)
     55 {
     56     //echo "\$user[{$i}]=".$user[$i]."<br/>";
     57 }
     58 
     59 foreach( $user as $key =>$val)
     60 {
     61 echo $key."=========>".$val."<br/>";
     62 //echo $val."<br/>";
     63 }
     64 
     65 
     66 
     67 //三维数组的遍历 
     68 $info=array(
     69         "user"=>array(
     70                 //$user[0]
     71                 array(1, "zansan", 10, "nan"),
     72                 //$user[1][1]
     73                 array(2, "lisi", 20, "nv"),    //$user[1]
     74                 //$user[2]
     75                 array(3, "wangwu", 30, "nan")
     76         ),
     77         "score"=>array(
     78                 array(1, 100, 90, 80),
     79                 array(2, 99, 88, 11),
     80                 array(3, 10, 50, 88)
     81             ),
     82         "connect"=>array(
     83                 array(1, '110', 'aaa@bbb.com'),
     84                 array(2, '120', 'bbb@ccc.com'),
     85                 array(3, '119', 'ccc@ddd.com')    
     86             )
     87     );
     88 
     89 
     90    foreach ($info as $tableName=>$table)
     91    {
     92 
     93     echo'<table  align="center" width="500" border="1">';
     94        echo'<caption><h1>'.$tableName.'</h1></caption>';
     95        foreach($table as $row )
     96        {
     97 
     98            echo'<tr>';
     99            foreach($row as $col )
    100                echo '<td>'.$col.'</td>';
    101 
    102                
    103            echo'</tr>';
    104        }
    105        
    106        echo'</table>';
    107    }
    108 //使用数组的内部指针控制函数
    109 //next(数组);
    110 //prev(数组);
    111 //reset(数组);
    112 //end(数组);
    113 //current(数组);
    114   $usedemo=array("id"=>1,"name"=>"zhangsan","age"=>10, "sex"=>"man"); 
    115  // each($usedemo);//array([1]=>1 [value]=1 [0]=>id [key]=>id);
    116 
    117 while (list($key,$value)=each($usedemo))//array([1]=>1 [0]=1);
    118 {
    119     echo $key."=======".$value."<br/>";
    120 }
    121 reset($usedemo);
    122 
    123  while (list($key,$value)=each($usedemo))//array([1]=>1 [0]=1);
    124 {
    125     echo $key."=======".$value."<br/>";
    126 }
    127 reset($usedemo);
    128 next($usedemo);
    129 next($usedemo);
    130 while (list($key,$value)=each($usedemo))//array([1]=>1 [0]=1);
    131 {
    132     echo $key."=======".$value."<br/>";
    133 }
    134 echo"<br><br><br><br><br>";
    135 reset($usedemo);
    136 
    137 print_r(current($usedemo));
    138 
    139 while($arr=each($usedemo))
    140 {
    141 echo $arr[0]."=>".$arr[1]."<br/>";
    142 
    143 echo $arr["key"]."----->".$arr["value"]."<br/>";
    144 }
    145 
    146 $a=each($usedemo);
    147 
    148 print_r($a);//Array ( [1] => 1 [value] => 1 [0] => id [key] => id )
    149 
    150 $b=each($usedemo);
    151 print_r($b);
    152 
    153 $c=each($usedemo);
    154 print_r($c);
    155 
    156 $d=each($usedemo);
    157 print_r($d);
    158 
    159 $e=each($usedemo);
    160 var_dump($e);
    161 ?>
  • 相关阅读:
    《学习OpenCV》练习题第五章第二题abc
    《学习OpenCV》练习题第五章第一题ab
    《学习OpenCV》练习题第四章第八题ab
    《学习OpenCV》练习题第四章第三题b
    《学习OpenCV》练习题第四章第三题a
    《学习OpenCV》练习题第四章第二题
    《学习OpenCV》练习题第四章第一题b&c
    《学习OpenCV》练习题第四章第一题a
    《学习OpenCV》练习题第四章第七题abc
    【T^T 1736】【FJUTOJ 1077】排座位
  • 原文地址:https://www.cnblogs.com/58top/p/2922226.html
Copyright © 2011-2022 走看看