您好,登錄后才能下訂單哦!
本篇內容主要講解“PHP如何利用foreach語句遍歷和修改數組元素”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PHP如何利用foreach語句遍歷和修改數組元素”吧!
foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利;PHP5后還可以遍歷對象(foreach僅能夠應用于數組和對象)。(附:PHP函數之array數組函數視頻講解)
foreach語句遍歷數組與數組下標無關,且可以用于不連續的索引數組和以字符串為下標的關聯數組。
foreach語句解析
下面我們先來了解一下foreach語句,該語句有兩種語法格式:
語法格式1:
foreach ($array as $value){ 語句塊; }
遍歷給定的 $array
數組,在每次循環中將當前數組的值賦給 $value
。
語法格式2:
foreach ($array as $key => $value){ 語句塊; }
遍歷給定的 $array
數組,在每次循環中會將當前數組的值賦給 $value
,鍵名賦給 $key
。
說明:
foreach語句在每次循環時,數組內部的指針會向前移一步,這樣在下一次循環中會得到下一個數組元素,直到遍歷到數組的末尾,停止遍歷并退出循環。
foreach語句遍歷和修改數組
了解了foreach語句的語法構成,接下來我們就來實際操作下,通過代碼實例來具體看看foreach語句如何遍歷數組。
實例1:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); foreach ($array as $value) { echo $value . "<br/>"; } ?>
輸出:
香蕉 蘋果 梨子 橙子 橘子 榴蓮
實例2:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); foreach ($array as $key => $value) { echo "鍵名為:".$key.",鍵值為:".$value . "<br/>"; } ?>
輸出:
遍歷修改數組元素
一般情況下,使用foreach語句遍歷數組時,是對數組的備份進行操作,一般不會影響數組本身。
例如:在循環內部修改數組,然后在循環外訪問數組,會發現數組沒有改變
<?php header("Content-type:text/html;charset=utf-8"); $array= array(1,2,3,4,5,); foreach ($array as $value) { $value = $value*2; // 元素值乘以2 } var_dump($array) ?>
輸出:
可以看出,數組元素沒有發生變化。但有時候是需要通過循環來改變數組,那要怎么辦?
可以采用引用循環(在 $value
之前加上 &
,這樣foreach語句會以引用賦值而不是拷貝一個值),那么在循環體內對數組進行操作,就會影響數組本身。
<?php $array= array(1,2,3,4,5,); foreach ($array as &$value) { $value = $value*2; // 元素值乘以2 } var_dump($array) ?>
輸出:
可以看出,在最后一個元素前,有一個&
,那是因為數組最后一個元素的 $value 引用在 foreach 循環之后仍會保留。我們需要使用unset() 來將其銷毀。
<?php $array= array(1,2,3,4,5,); foreach ($array as &$value) { $value = $value*2; // 元素值乘以2 } unset($value); // 最后取消掉引用 var_dump($array) ?>
輸出:
到此,相信大家對“PHP如何利用foreach語句遍歷和修改數組元素”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。