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

資訊專欄INFORMATION COLUMN

foreach 使用引用需要注意的問(wèn)題

ccj659 / 2463人閱讀

摘要:是指將數(shù)組的值給,當(dāng)我們需要直接操作原數(shù)組時(shí),就會(huì)添加引用符號(hào),這時(shí)接收的是數(shù)組值的地址空間。輸出結(jié)果異常分析第一個(gè)遍歷結(jié)束,因?yàn)槭且觅x值,所以變量和最后一個(gè)數(shù)組單元是同一個(gè)地址空間。

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

foreach是指將數(shù)組$arr的值copy給$value,當(dāng)我們需要直接操作原數(shù)組時(shí),就會(huì)添加引用符號(hào)&,這時(shí)$value接收的是數(shù)組值的地址空間。

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

輸出結(jié)果: abb

異常分析:

第一個(gè)遍歷結(jié)束,因?yàn)槭且觅x值,所以$value變量和最后一個(gè)數(shù)組單元c是同一個(gè)地址空間。

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

第一次遍歷后$arr = ["a","b","a"] //變量c因?yàn)?value被賦值為a,也跟著變?yōu)閍

第二次遍歷后$arr = ["a","b","b"] //變量c因?yàn)?value被賦值為b,也跟著變?yōu)閎

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

看懂這個(gè),可以思考一下 下面循環(huán)出現(xiàn)異常的原因:

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


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/22436.html

相關(guān)文章

  • 十個(gè) PHP 開發(fā)者最容易犯錯(cuò)誤

    摘要:這種行為比最初出現(xiàn)的問(wèn)題更為棘手,同時(shí)也是一種常見(jiàn)的錯(cuò)誤源。這意味著這個(gè)數(shù)組的一份拷貝將會(huì)被返回,因此被調(diào)函數(shù)與調(diào)用者所訪問(wèn)的數(shù)組并不是同樣的數(shù)組實(shí)例。 showImg(https://segmentfault.com/img/bV7reP?w=620&h=620); PHP 語(yǔ)言讓 WEB 端程序設(shè)計(jì)變得簡(jiǎn)單,這也是它能流行起來(lái)的原因。但也是因?yàn)樗暮?jiǎn)單,PHP 也慢慢發(fā)展成一個(gè)相對(duì)...

    fireflow 評(píng)論0 收藏0
  • PHP_數(shù)組

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

    zone 評(píng)論0 收藏0
  • 工具集核心教程 | 第四篇: Velocity模板引擎入門到進(jìn)階

    摘要:是一個(gè)基于的模板引擎。模板中未被定義的變量將被認(rèn)為是一個(gè)字符串。公眾號(hào)回復(fù)全棧,領(lǐng)取前端,,產(chǎn)品經(jīng)理,微信小程序,等資源合集大放送。公眾號(hào)回復(fù)面試,領(lǐng)取面試實(shí)戰(zhàn)學(xué)習(xí)資源。 Velocity是一個(gè)基于java的模板引擎(template engine)。它允許任何人僅僅簡(jiǎn)單的使用模板語(yǔ)言(template language)來(lái)引用由java代碼定義的對(duì)象。 當(dāng)Velocity應(yīng)用于web...

    leon 評(píng)論0 收藏0
  • 再理解-PHP引用

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

    ermaoL 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<