日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php foreach循环中的变量

發布時間:2025/3/14 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php foreach循环中的变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用foreach的時候出現了一個奇怪的現象,其中一個數組變量的最后一個值莫名其妙被修改了,查看php手冊foreach說明發現

Warning

數組最后一個元素的?$value?引用在?foreach?循環之后仍會保留。建議使用?unset()?來將其銷毀。

有這樣的警告。使用unset 方法或使用其他變量名稱。

例如

$a=[1,2]; foreach($a as $key=>$value){$a[$key]=$value+1; } echo $value;//輸出 2

?如果在$a中使用了指針,則會影響后面同名的變量的值,結果如下:

$a=[1,2]; $b=[3,4]; foreach($a as $key=>&$value){$a[$key]=$value+1; } print_r($a); foreach($b as $value){$value++; } print_r($a); print_r($b);輸出如下 Array ([0] => 2[1] => 3 ) Array ([0] => 2[1] => 5 ) Array ([0] => 3[1] => 4 )

?如果都使用指針或使用unset,則不受影響

$a=[1,2]; $b=[3,4]; foreach($a as $key=>&$value){$a[$key]=$value+1; }print_r($a); foreach($b as &$value){$value++; } print_r($a); print_r($b); 輸入如下 Array ([0] => 2[1] => 3 ) 3Array ([0] => 2[1] => 3 ) Array ([0] => 4[1] => 5 )

?使用unset

$a=[1,2]; $b=[3,4]; foreach($a as $key=>&$value){$a[$key]=$value+1; }print_r($a); unset($key,$value); foreach($b as $key=>$value){$b[$key]=$value+1; } print_r($a); print_r($b); 輸出如下Array ([0] => 2[1] => 3 ) Array ([0] => 2[1] => 3 ) Array ([0] => 4[1] => 5 )

?

轉載于:https://www.cnblogs.com/joystrong/p/9053900.html

總結

以上是生活随笔為你收集整理的php foreach循环中的变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。