数组的几种遍历方法
/* 数组的遍历
*
*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
";
}
for实例1、
$user=array(1, "zhasna",10=> 40, "nan", "[email protected]");//只能输出前两个,因为下标不连续
for($i=0; $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]