php中函式前加&符號的作用分解
php變數前面加&符號是什麼意思就不用多說了,大家都在用,就是兩個變數同時指向一個地址而已,那麼,php函式前面加&符號的意義又是什麼呢?下面先上兩個演示程式碼,然後再做解釋。
function &chhua() { static $b = "" ; //申明一個靜態變數 $b = $b . "WEB開發" ; echo $b ; return $b ; } $a =chhua(); //這條語句會輸出 $b的值 為“WEB開發” $a = "PHP" ; echo " ; $a =chhua(); //這條語 句會輸出 $b的值 為“WEB開發WEB開發” echo " ; $a =&chhua(); //這條語句會輸出 $b的值 為“WEB開發WEB開發WEB開發” echo " ; $a = "JS" ; $a =chhua(); //這條語句會輸出 $b的值 為"JSWEB開發" function &test() { static $b =0; //申明一個靜態變數 $b = $b +1; echo $b ; return $b ; } $a =test(); //這條語句會輸出 $b的值 為1 $a =5; $a =test(); //這 條語句會輸出 $b的值 為2 $a =&test(); //這條語句會輸出 $b的值 為3 $a =5; $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 的值 ,所以在執行了:
$a=&test(); $a=5; 以後,$b的值變為了5。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2471/viewspace-2805130/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP常用符號和函式收藏PHP符號函式
- Yaml中特殊符號"| > |+ |-"的作用YAML符號
- Python函式引數前的單星號(*)和雙星號(**)的作用Python函式
- python函式符號sympy的用法Python函式符號
- Linux中的特殊符號含義及作用!Linux符號
- 排名前100的PHP函式及分析PHP函式
- excel:如何批量加符號Excel符號
- 關於Matlab中符號運算的因式分解、展開與合併Matlab符號
- linux 中正規表示式中?號的作用Linux
- matlab符號函式的求導與差分的計算Matlab符號函式求導
- golang import包前的字母與符號GolangImport符號
- 函式(三)作用域之變數作用域、函式巢狀中區域性函式作用域、預設值引數作用域函式變數巢狀
- Python中以函式為作用域Python函式
- 回撥函式的作用函式
- 啟用函式的作用函式
- PHP 使用 version_compare () 函式判斷含符號數值是否在某一區間內PHP函式符號
- PHP常用函式前100排行榜PHP函式
- HTML 中的特殊符號HTML符號
- python 中 *符號Python符號
- matlab符號表示式的化簡Matlab符號
- php 函式PHP函式
- php函式PHP函式
- PHP 函式PHP函式
- php中函式的實參和形參PHP函式
- PHP中preg_replace函式解析PHP函式
- PHP中實現函式過載PHP函式
- JS 中函式名後面加與不加括號的區別JS函式
- latex 中的存在,任意, ξ 符號符號
- css 樣式檔案中的特殊符號 - 波浪號(也叫 tilde,squiggle,twiddle)CSS符號UI
- package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義PackageJSON符號
- php操作string的函式PHP函式
- PHP 函式庫 1 - 函式庫的分類PHP函式
- 學習PHP中的URL相關操作函式PHP函式
- JavaScript函式柯里化的作用JavaScript函式
- 日期加一天的函式函式
- PHP 常用函式PHP函式
- PHP匿名函式PHP函式
- PHP常用函式PHP函式