PHP从入门到精通(第4版)(软件开发视频大讲堂)
上QQ阅读APP看书,第一时间看更新

7.6 遍历数组

视频讲解:光盘\TM\lx\7\06 遍历数组.mp4

遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询等功能。在生活中,如果想要去商场买一件衣服,就需要在商场中逛一遍,看是否有想要的衣服,逛商场的过程就相当于遍历数组的操作。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。

1.使用foreach结构遍历数组

遍历数组元素最常用的一种方法是使用foreach结构。foreach结构并非操作数组本身,而是操作数组的一个备份。

【例7.6】对于一个存有大量网址的数组变量$url,如果应用echo语句一个个地输出,将相当烦琐,而通过foreach结构遍历数组则可轻松获取数据信息,实例代码如下:(实例位置:光盘\TM\sl\7\6)

        <?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()函数的综合应用,获取存储在数组中的用户登录信息。(实例位置:光盘\TM\sl\7\7)

具体开发步骤如下:

(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">密&nbsp; &nbsp;码:</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。