多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 定義函數時前面加個號代表什么?

定義函數時前面加個號代表什么?

來源:程序員人生   發布時間:2014-06-10 18:43:36 閱讀次數:3614次

定義函數時前面加個&號代表什么?

這是論壇的E蝸牛童鞋的帖子里看到的,準確的說明了函數前面加個&的作用,以及具體的效果.

函數的引用返回先看代碼:

  1. function &test() 
  2. static $b=0;//申明一個靜態變量 
  3. $b=$b+1; 
  4. echo $b
  5. return $b
  6.  
  7. $a=test();//這條語句會輸出 $b的值 為1 
  8. $a=5; 
  9. $a=test();//這條語句會輸出 $b的值 為2 
  10.  
  11. $a=&test();//這條語句會輸出 $b的值 為3 
  12. $a=5; 
  13. $a=test();//這條語句會輸出 $b的值 為6 

下面解釋下:通過這種方式$a=test();得到的其實不是函數的引用返回,這跟普通的函數調用沒有區別

至于原因:這是PHP的規定

PHP規定通過$a=&test(); 方式得到的才是函數的引用返回,至于什么是引用返回呢(PHP手冊上說:引用返回用在當想用函數找到引用應該被綁定在哪一個變量上面時。) 

用上面的例子來解釋就是:$a=test()方式調用函數,只是將函數的值賦給$a而已, 而$a做任何改變 都不會影響到函數中的$b,而通過$a=&test()方式調用函數呢, 他的作用是將return $b中的 $b變量的內存地址與$a變量的內存地址指向了同一個地方,即產生了相當于這樣的效果($a=&b;) 所以改變$a的值 也同時改變了$b的值,所以在執行了如下代碼:以后,$b的值變為了5

  1. $a=&test(); 
  2. $a=5; 
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 美女牲交毛片一级视频 | 亚洲网址| 婷婷夜夜躁天天躁人人躁 | www.欧美xxx| 亚洲视频a | 最近韩国中文字幕更新 | 亚洲在线观看免费视频 | 亚洲视频在线观看地址 | 黑人插入 | 国产成人亚洲精品91专区手机 | 高清视频一区二区三区 | 日本一区不卡视频 | 欧美性高清极品猛交 | 欧美xxxhd18| 国产精品福利一区 | 成人一区专区在线观看 | 伊人久久伊人 | 久久精品123| 成人国产一区二区三区精品 | 国产毛片久久国产 | 性色按摩过程小说 | 亚洲成人av | 国产欧美成人不卡视频 | 尤物免费在线视频 | 在线视频精品播放 | 亚洲视频大全 | 国产三区视频李宗瑞 | 亚洲狠狠 | 亚洲一区日本 | 在线精品日韩一区二区三区 | 日本xxxⅹ色视频在线观看网站 | 欧美另类一区 | 一区二区三区亚洲视频 | 一级毛片一级毛片一级毛片aaav | 一区二区三区视频在线 | 91在线一区二区三区 | h网站在线| 亚洲精品亚洲人成在线 | 国产一级一片免费播放视频 | 一区二区不卡久久精品 | 亚洲乱码一二三四五六区 |