這篇文章主要介紹了php中的函式前加&符號的作用分解,其作用叫做引用返回,有點抽象,詳細解釋請看本文內容,需要的朋友可以參考下 (**)
function &chhua()$a = chhua(); //
這條語句會輸出 $b的值 為「www.jb51.netweb開發」
$a = "php";
echo "
";$a = chhua(); //
這條語 句會輸出 $b的值 為「www.jb51.netweb開發web開發」
echo "
";$a = &chhua(); //
這條語句會輸出 $b的值 為「www.jb51.netweb開發web開發web開發」
echo "
";$a = "js";
$a = chhua(); //
這條語句會輸出 $b的值 為"jsweb開發"
function &test()
$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。
C 函式前加 的作用
c 中函式前加 是表示此函式是析構函式。析構函式介紹 1.析構函式 destructor 與建構函式相反,當物件脫離其作用域時 例如物件所在的函式已呼叫完畢 系統自動執行析構函式。析構函式往往用來做 清理善後 的工作 例如在建立物件時用new開闢了一片記憶體空間,應在退出前在析構函式中用delete...
PHP中引用(變數和函式名前加 符號)的用法
url a 5 b a echo b a echo echo b 相當於動態跟蹤變數 而不是固定他的值 a 5 b a b world echo a world 引用傳遞引數 function inc v v 10 inc v 屬於值傳遞,只是傳入外部變數的副本,函式內部的修改和外部變數沒有關係,值...
在php中的變數和函式名前加 符號的意思
在php中的變數和函式名前加 符號的意思 在php中 符號即傳的是變數的引用而不是拷貝,引用意味著用不同的名字訪問同乙個變數內容。這並不像 c 的指標,它們是符號表別名。注意在 php 中,變數名和變數內容是不一樣的,因此同樣的內容可以有不同的名字。最接近的比喻是 unix 的檔名和檔案本身 變數名...