官术网_书友最值得收藏!

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。

主站蜘蛛池模板: 榆树市| 苍梧县| 绩溪县| 保康县| 黄大仙区| 中卫市| 吴堡县| 自治县| 潜江市| 广灵县| 南召县| 尼勒克县| 祁门县| 徐水县| 清苑县| 都兰县| 会理县| 凉山| 饶阳县| 随州市| 南汇区| 白山市| 乌鲁木齐县| 通化县| 民丰县| 崇信县| 夏河县| 宜阳县| 冕宁县| 河东区| 宿松县| 会东县| 崇礼县| 蓬莱市| 长宁县| 靖边县| 榆社县| 铜鼓县| 镇康县| 定西市| 怀安县|