定義函數(shù)時(shí)前面加個(gè)&號代表什么?
這是論壇的E蝸牛童鞋的帖子里看到的,準(zhǔn)確的說明了函數(shù)前面加個(gè)&的作用,以及具體的效果.
函數(shù)的引用返回先看代碼:
下面解釋下:通過這種方式$a=test();得到的其實(shí)不是函數(shù)的引用返回,這跟普通的函數(shù)調(diào)用沒有區(qū)別
至于原因:這是PHP的規(guī)定
用上面的例子來解釋就是:$a=test()方式調(diào)用函數(shù),只是將函數(shù)的值賦給$a而已, 而$a做任何改變 都不會影響到函數(shù)中的$b,而通過$a=&test()方式調(diào)用函數(shù)呢, 他的作用是將return $b中的 $b變量的內(nèi)存地址與$a變量的內(nèi)存地址指向了同一個(gè)地方,即產(chǎn)生了相當(dāng)于這樣的效果($a=&b;) 所以改變$a的值 也同時(shí)改變了$b的值,所以在執(zhí)行了如下代碼:以后,$b的值變?yōu)榱?