遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
<1>使用foreach结构遍历数组,for each并非操作数组本身,而是操作数组的一个备份;
<2>使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
php foreach语句
foreach支持数组和对象,该语句的语法格式是:
foreach(array_expression as $value){
语句块;
}
或这样用
foreach(array_expression as $key => $value){
语句块
}
foreach语句将遍历数组array_expression,每次循环时将当前数组的值赋给$value(或是将数组下标赋值给$key,对应的值赋值给$value)同时数组指针向后移动,如此反复,直到循环结束。
当使用foreach语句时,数组指针将自动被重置,所以不需要手动设置指针位置。
看一个例子:
<?
$arr = array("www.","haohaoxx8.","com","/plus/list.php ?tid=12");
if(is_array($arr) == true){
foreach($arr as $key => $value){
echo $key."=".$value.'<br/>';
$web.=$value;//将数组各值连接成一个网址
}
}else{
echo"不是数组,不能使用foreach";
}
echo $web;//输出连接到一起的网址
?>
运行结果:
0=www.
1=haohaoxx8.
2=com
3=/plus/list.php ?tid=12
www.haohaoxx8.com/plus/list.php ?tid=12
list()函数遍历数组的例子:一个登陆界面,提交表单
<form id="form1" name="form1" method="post" action="">
<table width="40%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>用户名</td>
<td><input name="username" type="text" id="username" /></td>
</tr>
<tr>
<td>密码</td>
<td><input name="password" type="text" id="password" /></td>
</tr>
<tr>
<td colspan="2" align="left"><input type="submit" name="Submit" value="提交" /></td>
</tr>
</table>
</form>
<?
while(list($name,$value)=each($_POST)){//当表单以post方式提交的时候,将表单中的各元素的名称和值传递给list函数产生的数值中,分别用name/value两个变量保存表单元素的名称和其对应的值
echo "$name=$value<br/>";
}
?>
用户名输入hhh,密码输入fff的运行结果:
username=hhh
password=fff
Submit=提交
若不想显示submit则上段代码可改为:
<?
while(list($name,$value)=each($_POST)){//当表单以post方式提交的时候,将表单中的各元素的名称和值传递给list函数产生的数值中,分别用name/value两个变量保存表单元素的名称和其对应的值
if($name!="Submit"){//注意S为大写
echo "$name=$value<br/>";
}
}
?>
用户名输入hhh,密码输入fff的运行结果:
username=hhh
password=fff
(责任编辑:admin)