国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

你真的了解PHP foreach嗎?非常清晰的用法實例講解

2020-03-22 19:08:31
字體:
來源:轉載
供稿:網友
在日常開發中,使用PHP的foreach遍歷數組幾乎是標配。它可以非常方便的遍歷出數組的keyhtml' target='_blank'>value??墒悄阏娴牧私馑膫€性嗎?

PHP foreach怎么用?

下面php 用實例講解PHP foreach的用法和注意事項。

比如:有下面的數組:

$array = array(1,2,3,4,5);

要求將$array數組中的每個元素值加1

通常情況,我們可以使用下面的處理方式,方法一:

foreach($array as $key = $value){ $array[$key] = $value+1;}

還可以使用下面的方式,方法二:

foreach($array as $value){ $value = $value+1;}

一般情況下這兩種寫法不會出現任何問題,產生的結果也相同??墒钱斘覀冊诮酉聛淼某绦蛑行枰褂?value,比如對$value賦個新值8,那么方法2的結果將會發生詭異的變化。

foreach($array as $value){ $value = $value+1;$value = 8;

這時打印print_r($array),我們希望輸出

Array ( [0] = 2 [1] = 3 [2] = 4 [3] = 5 [4] = 6 );

但實際上會輸出:

Array ( [0] = 2 [1] = 3 [2] = 4 [3] = 5 [4] = 8 ),

也就是說,最后一個元素變成了8。

為什么會出現這樣的情況呢?

實際上方法二中的$value是一個引用,而且是全局的,當foreach執行完后,對$value的引用仍然有效,這將導致在foreach外任何對$value的修改都會影響到$array中的最后一個元素。

那么如何解決這個問題呢?

方法非常簡單,既然$value在foreach外仍然有效,那么我們可以在foreach執行完成后把$value給unset掉。改進后的代碼如下:

foreach($array as $value){ $value = $value+1;Unset($value);$value = 8;

現在程序輸出$array最后一個元素是6,不再受$value修改的影響。

以上就是你真的了解PHP foreach嗎?非常清晰的用法實例講解的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 花莲市| 梧州市| 合山市| 金湖县| 宁远县| 昌都县| 高青县| 海淀区| 宝山区| 石柱| 繁峙县| 石渠县| 厦门市| 米脂县| 壶关县| 宝丰县| 肇庆市| 西林县| 泾源县| 老河口市| 吉安县| 延寿县| 元谋县| 绵阳市| 黔南| 元江| 开封市| 长治县| 贵港市| 依兰县| 五河县| 舒城县| 离岛区| 临沂市| 普定县| 上犹县| 利辛县| 平谷区| 登封市| 道孚县| 成安县|