7.6 遍历数组
视频讲解:光盘TMlx706 遍历数组.mp4
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询等功能。在生活中,如果想要去商场买一件衣服,就需要在商场中逛一遍,看是否有想要的衣服,逛商场的过程就相当于遍历数组的操作。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
1.使用foreach结构遍历数组
遍历数组元素最常用的一种方法是使用foreach结构。foreach结构并非操作数组本身,而是操作数组的一个备份。
【例7.6】对于一个存有大量网址的数组变量$url,如果应用echo语句一个个地输出,将相当烦琐,而通过foreach结构遍历数组则可轻松获取数据信息,实例代码如下:(实例位置:光盘TMsl76)
<?php $url=array(’编程词典网’=>'www.mrbccd.com', '编程体验网’=>'www.bcty365.com', '编程资源网’=>'www.bc110.com', ); //声明数组 foreach($url as$link){ //遍历数组 echo$link.'<br>'; } ?>
结果为:www.mrbccd.com
www.bcty365.com
www.bc110.com
在上面的代码中,PHP为$url的每个元素依次执行循环体(each语句)一次,将$link赋值给当前元素的值。各元素按数组内部顺序进行处理。
2.使用list()函数遍历数组
把数组中的值赋给一些变量。与array()函数类似,这不是真正的函数,而是语言结构。list()函数仅能用于数字索引的数组,且数字索引从0开始。
语法格式如下:
void list ( mixed ...)
其中,mixed为被赋值的变量名称。
【例7.7】下面通过具体的实例讲解list()函数和each()函数的综合应用,获取存储在数组中的用户登录信息。(实例位置:光盘TMsl77)
具体开发步骤如下:
(1)利用开发工具(如Dreamweaver)新建一个PHP动态页,保存为index.php。
(2)应用HTML标记设计页面。首先建立用户登录表单,用于实现用户登录信息的录入,然后使用each()函数提取全局数组$_POST中的内容,最后使用while语句循环输出用户所提交的注册信息。代码如下:
<! -- -----------------------------------------定义用户登录表单---------------------------------------------> <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="right" 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="right" bgcolor="#CCFF33">密  ;码:</td> <td height="24" bgcolor="#CCFF33"><input name="pwd" type="password" class="inputcss" id="pwd" size="24"></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($name, $value)=each($_POST)){ if($name! ="submit"){ echo "$name=$value<br>"; } } ?>
(3)在IE浏览器中输入地址,按Enter键,输入用户名及密码,单击“登录”按钮,运行结果如图7.2所示。
图7.2 应用list()函数获取用户登录信息
说明
each()函数用于返回当前指针位置的数组值,并将指针推进一个位置。返回的数组包含4个键,键0和key包含键名,而键1和value包含相应的数据。如果程序在执行each()函数时指针已经位于数组末尾,则返回false。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。