国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

foreach 使用引用需要注意的問題

ccj659 / 2455人閱讀

摘要:是指將數組的值給,當我們需要直接操作原數組時,就會添加引用符號,這時接收的是數組值的地址空間。輸出結果異常分析第一個遍歷結束,因為是引用賦值,所以變量和最后一個數組單元是同一個地址空間。

foreach($arr as $key=>$value){}  

foreach是指將數組$arr的值copy給$value,當我們需要直接操作原數組時,就會添加引用符號&,這時$value接收的是數組值的地址空間。

$arr = ["a","b","c"];
foreach($arr as $key=>&$value){}
foreach($arr as $key=>$value){ echo $value; }

輸出結果: abb

異常分析:

第一個遍歷結束,因為是引用賦值,所以$value變量和最后一個數組單元c是同一個地址空間。

第二個遍歷中,是copy賦值,數組的每個值依次賦值給$value(等同于數組中的元素c)的地址空間,所以

第一次遍歷后$arr = ["a","b","a"] //變量c因為$value被賦值為a,也跟著變為a

第二次遍歷后$arr = ["a","b","b"] //變量c因為$value被賦值為b,也跟著變為b

第三次遍歷后$arr = ["a","b","b"] //這里相當于 $value = $value 自己給自己賦值

看懂這個,可以思考一下 下面循環出現異常的原因:

    $arr = array(1,2,3);
    foreach ($arr as $k => $v){
        $v = &$arr[$k];
    }
    var_dump($arr);


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22436.html

相關文章

  • 十個 PHP 開發者最容易犯錯誤

    摘要:這種行為比最初出現的問題更為棘手,同時也是一種常見的錯誤源。這意味著這個數組的一份拷貝將會被返回,因此被調函數與調用者所訪問的數組并不是同樣的數組實例。 showImg(https://segmentfault.com/img/bV7reP?w=620&h=620); PHP 語言讓 WEB 端程序設計變得簡單,這也是它能流行起來的原因。但也是因為它的簡單,PHP 也慢慢發展成一個相對...

    fireflow 評論0 收藏0
  • PHP_數組

    摘要:李尋歡索引數組索引數組,元素的值和下標不存在邏輯關系,而下標只表示值索引位置。鍵和值,同時向下移動指針獲得元素信息,返回的是,關聯和索引數組其中關聯數組部分。 數組 數據由元素組成,元素由鍵和值組成 數組分類 關聯數組關聯數組,元素的下標與元素的值存在邏輯上的關系,稱之為關聯數組。指的是,鍵和值之間存在管理。 $a1 = array(name => 李尋歡, age => 34); ...

    zone 評論0 收藏0
  • 工具集核心教程 | 第四篇: Velocity模板引擎入門到進階

    摘要:是一個基于的模板引擎。模板中未被定義的變量將被認為是一個字符串。公眾號回復全棧,領取前端,,產品經理,微信小程序,等資源合集大放送。公眾號回復面試,領取面試實戰學習資源。 Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。 當Velocity應用于web...

    leon 評論0 收藏0
  • 再理解-PHP引用

    摘要:引用本身概念好理解性能也很好但是用好它還是存在著一定的門檻不太好寫。寫本文的起因是這幾天碰到非常好的一個解決方案,讓我重新理解了引用。如果下面的代碼,你看完就能理解了,說明你引用真是學到家了你也可以直接跳過本文哈。 起因: 日常開發中,我們會碰到構造樹的需求,通過id,pid的關系去構建一個樹結構,然后對樹進行遍歷等操作。其實現方式分為兩種: 1. 遞歸, 2. 引用而這兩個方法的優缺...

    ermaoL 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<