中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何在foreach循環中修改原數組

發布時間:2022-09-29 11:53:22 來源:億速云 閱讀:166 作者:iii 欄目:編程語言

本篇內容介紹了“php如何在foreach循環中修改原數組”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在php中,只需要foreach語句采用引用循環的方式,那么在循環體內對原數組進行操作(修改),就會影響原數組本身;語法“foreach ($array as &$value){//循環體語句塊;}”或“foreach ($array as $key => &$value){//循環體語句塊;}”。

本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦

foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利;PHP5后還可以遍歷對象(foreach僅能夠應用于數組和對象)。

foreach語句遍歷數組與數組下標無關,且可以用于不連續的索引數組和以字符串為下標的關聯數組。

foreach語句有兩種語法格式:

語法格式1:

foreach ($array as $value){
    //循環體語句塊;
}

登錄后復制

  • 遍歷給定的 $array 數組,在每次循環中將當前數組的值賦給 $value。

語法格式2:

foreach ($array as $key => $value){
    //循環體語句塊;
}

  • 遍歷給定的 $array 數組,在每次循環中會將當前數組的值賦給 $value,鍵名賦給 $key。

說明:

foreach語句在每次循環時,數組內部的指針會向前移一步,這樣在下一次循環中會得到下一個數組元素,直到遍歷到數組的末尾,停止遍歷并退出循環。

在foreach循環中修改原數組

一般情況下,使用foreach語句遍歷數組時,是對數組的備份進行操作,一般不會影響數組本身。

例如:在循環內部修改數組,然后在循環外訪問數組,會發現數組沒有改變


php如何在foreach循環中修改原數組

可以看出,兩個輸出是一樣的,數組元素沒有發生變化;此時在foreach循環中對原數組的修改是無效的。

但有時候是需要通過foreach循環來改變數組,那要怎么辦?

可以采用引用循環(就是在 $value 之前加上 &,這樣foreach語句會以引用賦值而不是拷貝一個值),那么在循環體內對原數組進行操作,就會影響原數組本身。


php如何在foreach循環中修改原數組

可以看出:數組元素發生了變化,元素值都乘以了2。

但最后一個元素前,多了一個&,這又是怎么了?怎么去除?

這因為數組最后一個元素的 $value 引用在 foreach 循環之后仍會保留。我們需要在輸出數組前,使用unset() 來將其銷毀。

unset($value); // 最后取消掉引用
var_dump($array)

登錄后復制

php如何在foreach循環中修改原數組

&符消失了!

“php如何在foreach循環中修改原數組”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

恭城| 东山县| 镇江市| 六盘水市| 东方市| 新平| 肥城市| 丰镇市| 山丹县| 山东省| 天气| 德安县| 特克斯县| 福建省| 许昌市| 修文县| 山西省| 肃宁县| 高清| 霍林郭勒市| 黄石市| 剑河县| 那曲县| 共和县| 合作市| 阿坝县| 荣昌县| 东乌珠穆沁旗| 诏安县| 桐庐县| 秦安县| 雅安市| 绍兴县| 二连浩特市| 且末县| 黎城县| 华池县| 扶风县| 天峨县| 富蕴县| 象山县|