- PHP從入門到精通(第4版)(軟件開發視頻大講堂)
- 明日科技
- 805字
- 2020-11-28 17:36:38
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
在上面的代碼中,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">密  ;碼:</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。
- 現代C++編程:從入門到實踐
- JavaScript百煉成仙
- 編程的修煉
- Practical Data Science Cookbook(Second Edition)
- Linux網絡程序設計:基于龍芯平臺
- Learning ELK Stack
- PLC編程與調試技術(松下系列)
- INSTANT Passbook App Development for iOS How-to
- Mastering JavaScript Design Patterns(Second Edition)
- OpenCV with Python By Example
- Learning Ionic
- PHP+MySQL動態網站開發從入門到精通(視頻教學版)
- R的極客理想:量化投資篇
- 算法秘籍
- Puppet:Mastering Infrastructure Automation