php中函式前加 符號的作用分解

2022-04-12 02:02:26 字數 1161 閱讀 7077

這篇文章主要介紹了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 的檔名和檔案本身 變數名...