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

首頁 > 開發(fā) > PHP > 正文

定義函數(shù)時前面加個號代表什么?

2024-05-04 21:56:21
字體:
供稿:網(wǎng)友

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

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

函數(shù)的引用返回先看代碼:

  1. function &test() 
  2. static $b=0;//申明一個靜態(tài)變量 
  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();得到的其實不是函數(shù)的引用返回,這跟普通的函數(shù)調(diào)用沒有區(qū)別

至于原因:這是PHP的規(guī)定

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

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

  1. $a=&test(); 
  2. $a=5; 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄢陵县| 瑞丽市| 辽中县| 西乌珠穆沁旗| 松潘县| 共和县| 施甸县| 响水县| 中超| 天水市| 云阳县| 襄垣县| 木兰县| 兴化市| 崇明县| 商水县| 农安县| 昔阳县| 大方县| 白银市| 阿勒泰市| 民丰县| 台山市| 凌海市| 顺义区| 山西省| 城口县| 玉溪市| 宁蒗| 鞍山市| 乌鲁木齐市| 辽中县| 灌云县| 高邑县| 清苑县| 潼南县| 抚宁县| 肃北| 铜陵市| 通海县| 汝城县|