php遍历数组foreach函数,list函数

本文介绍了PHP中遍历数组的两种常见方法:使用foreach结构和list()函数。foreach适用于数组和对象,而list()仅限于数字索引的数组。通过实例展示了如何使用这两种方法来处理数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值