在操作数组时,经常需要一次访问数组中的每个运输,这种操作被称为数组遍历,在php中,通常适应foreach语句实现数组的遍历。其语法格式如下:
格式一:无键名遍历
foreach ($arr as $value){
循环体
}
格式二:键值对遍历
foreach ($arr as $key => $value){
循环体
}
不同的是,在语法格式一中,只是将当前元素的值赋给$value,而格式二中,将当前元素赋给$key,值赋给$value,这样可以同时获取当前元素的键名和值。
案例:使用foreach语句实现数组遍历
<?php
$arr=array(
"os"=>"linux",
"sever"=>"apache",
"language"=>"php",
"database"=>"mysql"
);
//foreach语句遍历数组
foreach($arr as $value){ //无键名遍历
echo $value;
echo "<br>";
}
echo "<hr/>";
foreach($arr as $key => $value){ //键值对遍历
echo $key;
echo "=>";
echo $value;
echo "<br>";
}
?>
运行结果
使用each()、list()和while实现数组遍历功能
实现数组遍历功能除了使用foreach语句,还可以通过each()、list()和while结合实现
list()回一个语言结构,它的作用是把数组中的值赋给一些变量,示例
$arr=array("linux","apache");//索引数组
list($a,$b)=$arr; //将数组的元素依次赋给变量$a、$b
需要注意的是list()仅能用户数组索引的数组并假定索引从0开始
案例:
<?php
$arr=array(
"os"=>"linux",
"sever"=>"apache",
"language"=>"php",
"database"=>"mysql"
);
//结合each()、list()和while实现数组遍历
while (list($key,$value)=each($arr)){
echo $key.'=>'.$value;
echo "<br>";
}
?>
运行结果
通过while循环不断调用each()函数,使数组的指针不断向前移动,直到指针移出数组时,循环结束
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。