PHP数组的几种遍历方法

数组的几种遍历方法

 

/* 数组的遍历
 *
 *1. 使用for语句循环遍历数组
 *        a. 其它语言(只有这一种方式)
 *         b. PHP中这种方式不是我们首选方式
 *         c. 数组必须是索引数组,而且下标还必须是连续的
 *            (索引数组下标还可以不连序数组还有关联数组
 *   
 *
 *2. 使用foreach语句循环遍历数组

 *        foreach(数组变量 as 变量值){           遍历值
 *        //循环体
 *        }
 *        a. 循环次数由数组的元素个数决定
 *        b. 每一次循环都会将数组中的元素(值哦)分别赋值给后面变量
 *     
  *        foreach(数组变量 as 下标变量=> 值变量){                          遍历下标。当遇到关联数组的时候,遍历下标
 *         *        }

 *3. while() list() each() 组合循环遍历数组

   使用数组的内部指针控制函数
    next(数组);
    prev(数组);
    reset(数组)回到数组的第一个元素
    end(数组);

    current(数组);取当前数组元素的值
    key(数组);取当前数组元素的键值

 *
 *       each()函数,
  *           a. 需要一个数组作为参数
 *           b. 返回来的也是一个数组
 *           c. 返回来的数组是0, 1, key, value四个下标(固定的)
 *            0和key下标是当前参数数组元素的鍵
 *            1和value下标是当前残数数组元素的值
 *
 *              d. 默认认当前元素就是第一个元素
 *              e. 每执行一次后就会将当前元素向后移动
 *              f. 如果到最后的元素再执行这个函数,则返回false
 *

 *        //Array ( [1] => 1 [value] => 1 [0] => id [key] => id )

$user=array("id"=>1,"name"=>"zhangsan","age"=>11,"sex"=>"nam");

$a=each($user);
print_r($a);//Array ( [1] => 1 [value] => 1 [0] => id [key] => id )

 $b=each($user);
print_r($b);//Array ( [1] => zhangsan [value] => zhangsan [0] => name [key] => name )

$c=each($user);//Array ( [1] => 11 [value] => 11 [0] => age [key] => age )
print_r($c);

$d=each($user);
print_r($d);// Array ( [1] => nam [value] => nam [0] => sex [key] => sex )

$e=each($user);// bool(false)
var_dump($e);

 *  

 

while

 

$user=array("id"=>1,"name"=>"zhangsan","age"=>11,"sex"=>"nam");

while($arr=each($user)){
    echo $arr[0]."=========>".$arr[1]."
";
    echo $arr[key]."=========>".$arr[value]."
";
}

 *  

 

  list()函数:php中只有这一种形式,将数组付给一个函数

 
 *         a. list()=array(); 需要将一个数组赋值给这个函数
 *         b. 数组中的元素个数,要和list()函数中的参数个数相同
 *     c. 数组中的每个元素值会赋值list()函数中的每个参数,list()将每个参数转为变量
 *      d. list()只能接收索引数组
 *         e. 按索引的下标的顺序

 *   

    $user=array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
    
    while($arr=each($user)){
        //echo $arr[0]."==>".$arr[1]."
";
        echo $arr["key"]."---->".$arr["value"]."
";
    }
 */    
    
    $user=array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");

    list($key, $value)=each($user);  //Array ( [1] => 1  [0] => id  )

    echo $key."-->".$value;
   

 

 

 * list($name,$age,$sex)=array("zhangsan",10,"nam");

echo $name."
";
echo $age."
";
echo $sex."
";

 *

输出:zhangsan

10

nam

 */

    $ip="192.168.1.128";

    list(, , , $d)=explode(".", $ip);

    echo $d;

结果:128

 

$user=array(1, "zhasna", 40, "nan", "[email protected]");

  
    for($i=0; $i         echo "\$user[{$i}]=".$user[$i]."
";
    }

 

 

 

for实例1、


  $user=array(1, "zhasna",10=> 40, "nan", "[email protected]");//只能输出前两个,因为下标不连续
    for($i=0; $i       echo "\$user[$i]=".$user[$i]."
";
    }//反斜杠,这样$user就不会当做变量输出了    

   for($i=0; $i<13; $i++){
        echo "\$user[$i]=".$user[$i]."
";
    }

结果

$user[0]=1
$user[1]=zhasna
$user[2]=
$user[3]=
$user[4]=


$user[0]=1
$user[1]=zhasna
$user[2]=
$user[3]=
$user[4]=
$user[5]=
$user[6]=
$user[7]=
$user[8]=
$user[9]=
$user[10]=40
$user[11]=nan
$user[12][email protected]

 

foreach实例2、
  $user=array(1, "zhasna",10=> 40, "nan", "[email protected]");
   foreach ($user as $val)//$val是自定义变量
           echo $val."
";

结果

1
zhasna
40
nan
[email protected]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(php学习)