使用list()函数遍历数组

2 篇文章 0 订阅

先贴上我的代码和截图

这里用了两个列子,都用到了list()遍历数组的功能:

例1:

<form name="form1" method="post">
<table width="323" border="1" cellpadding="1" cellspacing="1" bordercolor="#66cc33" bgcolor="#ffffff">
<tr>
<td width="118" height="24" align="center" bgcolor="#ccff33">用户名:</td>
<td width="192" height="24" bgcolor="#ccff33"><input name="user" type="text" class="inputcss" id="user" size="24"></td>
</tr>


<tr>
<td  height="24" align="center" bgcolor="#ccff33">密&nbsp;码: </td>
<td  height="24" bgcolor="#ccff33"><input name="pwd" type="password" class="inputcss" id="psw" size="25"></td>
</tr>


<tr align="center" bgcolor="#ccff33">
<td height="24" colspan="2"><input name="submit" type="submit" value="登陆"></td>
</tr>
</table>


</form>


<?php
while(list($n,$v)=each($_POST)){
if($n!="submit"){
   echo "$n=$v<br>";
}
}
?>





下面说一下这个list()函数遍历数组:

我的截图中在编辑框中的内容没有显示出来!

假设用户输入的用户名是zhuheiji,密码是pwd

那么在php代码段中,$_POST这个地方返回的是什么呢?

用了一个each包裹这个$_POST,即每一次都有一组数据传进来。第一次传入的数据是(user,zhuheiji),第二次传入的数据是(pwd,111111)。

那么这个user 和pwd哪里来的呢?看代码,分别是两个html语句 <input name="user".......> ,,,,,,,,,,,<input name="pwd">的name值。


得到了这个传入的$_POST(说白了这个数据时以键值对的形式),接下来分别把键和值赋给list($n,$v)中的$n和$v。好了,这样一次循环输出一个传入的值,有多少个

值传入,while循环就循环多少次。


例2:



<form name="form1" method="post" action="">
  <table width="400" border="1" cellspacing="1" cellpadding="0" bordercolor="#ff9900" bgcolor="#ccff66">
     <tr align="center">
<td width="98"  height="120">添加投票选项:</td>


<td width="223" height="120">
<p>
<textarea name="content" cols="30" rows="5" id="content"></textarea>
<br>
<span class="style1"></span>
</p>
</td>


     <td width="61" height="120"><input type="Submit" name="Submit" value="提交"></td>  
</tr>
  </table>
</form>






<?PHP 
error_reporting(0); 
if($_POST[Submit]!=""){
$content=$_POST[content];
$data=explode("*",$content);
while(list($n,$v)=each($data)){
   echo '<input type="checkbook" name="checkbox" value="">';
   echo $v."\n";
}
}
?>


在第二个例子中用到了一个       error_reporting(0); 这是用来去除显示时“提醒”的作用。大家去这句话掉试一下,就明白了!


这里的$_POST[content]比示例1中的$_POST多了一个[content],这个content是<textarea name="content".......>中的content,即传入的是多行输入框中用户输入的值,下面通过了一个explode函数,通过*号来将$content分割成若干个数组元素。接下来,就是本文要讨论的list()函数遍历数组的内容了。说白了,将数组的中的元素赋值给list($n,$v)两个变量,本例子稍微和例1中的有些不容,这里数组的每一个元素都只有一个值,没有键。所以这里将这个值赋给$v这个变量。那么$n这个变量呢,其实是变成了以0开头的序列,即第一个循环默认为零,第二个循环$n的值为2.一次类推。。。。。。

好了,经过这样的理解,至少不会对list()遍历数组感到很迷糊了













       


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值