您好,登錄后才能下訂單哦!
這篇文章主要講解了“PHP有哪些方法可以遍歷數組元素”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP有哪些方法可以遍歷數組元素”吧!
本篇文章就通過實際的代碼例子來給大家介紹4種常見方法:for循環,foreach語句,while循環+each()+list(),do-while循環+數組指針。
方法1:使用for循環語句
在之前PHP循環系列文章《PHP循環學習三:如何使用for循環語句遍歷數組》中,我們介紹了for循環和利用該循環怎么遍歷數組。本文就不詳細介紹了,下面通過代碼示例來具體看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"數學","梨子",3.14,"榴蓮",12); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
輸出結果:
2 數學 梨子 3.14 榴蓮 12
方法2:使用foreach循環語句
同樣的,在之前PHP循環系列文章《PHP循環學習四:怎么利用foreach語句遍歷和修改數組元素》中,我們介紹了利用foreach循環遍歷數組的2種結構。本文就不詳細介紹了,下面通過代碼示例來具體看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); foreach ($array as $val){ echo "值是:" . $val ; echo "<br/>"; } echo "<br/>"; foreach ($array as $key => $value) { echo "鍵名為:".$key.",鍵值為:".$value . "<br/>"; } ?>
輸出結果:
方法3:利用while循環+each()+list()
each() 函數返回數組中當前的鍵值并將數組指針向前移動。在執行 each() 之后,數組指針將停留在數組中的下一個元素或者當碰到數組結尾時停留在最后一個元素。
而list() 函數用于在一次操作中給一組變量賦值。
while循環+each() 函數+ list() 函數可以遍歷數組,下面通過代碼示例來看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
輸出結果:
方法4:利用do-while循環+next()+key()+current()
PHP中每個數組都有一個內部指針,即數組指針;該指針會指向數組中的某個元素(該元素就是數組的當前元素,默認最初指向數組中的第一個元素)。
next() 函數可以返回數組內部指針指向的下一個元素的值,當沒有更多元素時返回 FALSE。
key() 函數用來獲得數組中當前元素的鍵名。
current() 函數返回數組的當前元素的鍵值。
利用do-while循環+next()+key()+current()可以遍歷數組,獲取數組元素的鍵名和鍵值。
下面通過代碼示例來具體看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); do{ echo key($array)." => ".current($array)."<br>"; }while(next($array)); ?>
輸出結果:
遍歷結束后,數組指針會指向最后一個數組元素,我們可以使用reset()函數來重置數組指針,將數組中的內部指針重新指向第一個元素。
如果對do-while循環不熟悉,可以點擊閱讀《PHP循環學習二:如何使用do-while循環語句》來了解do-while循環語句。
感謝各位的閱讀,以上就是“PHP有哪些方法可以遍歷數組元素”的內容了,經過本文的學習后,相信大家對PHP有哪些方法可以遍歷數組元素這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。