您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細(xì)介紹了PHP中引用&的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
變量引用
案例:
<?php //變量單獨(dú)引用 $test = "a string!\n"; $quote = &$test; echo $test; //a string! echo $quote;//a string! $quote = "exchange!\n"; echo $test; //exchange! echo $quote;//exchange! unset($quote); echo $test; //exchange! //函數(shù)傳參引用 $num = 10; echo $num."\n"; test($num); echo $num."\n"; function test( &$num) { $num += 10; }
結(jié)論
PHP 的變量引用相當(dāng)于不同的變量都指向同一個(gè)內(nèi)容。也會(huì)操作這一份內(nèi)容,如果刪除其中一個(gè)引用,另外一個(gè)引用不受影響,相當(dāng)與刪除的變量不在指向同一個(gè)內(nèi)容,但是不能為常量。(相當(dāng)于一個(gè)人有好多個(gè)名字,及時(shí)去掉一個(gè)名字,也不會(huì)影響人這個(gè)實(shí)體)
函數(shù)引用返回
案例1:
<?php $t = test(); // 1 var_dump($t); // int(1) $t = 20; $t = test(); //2 var_dump($t); //int(2) $t = &test(); //3 var_dump($t) ; //int(3) $t = 20; $t = test(); //21 var_dump($t); //int(21) function &test() { static $test = 0; $test += 1; echo $test."\n"; return $test; }
案例2:
?php $t = test(); function &test() { static $test = 0; $test += 1; echo $test."\n"; } $ php test.php 1 PHP Notice: Only variable references should be returned by reference in /home/q/www/zt.dujia.qunar.com/test.php on line 9
結(jié)論:
相當(dāng)于 $t = &test; 說白了還是 變量之間的引用。
對(duì)象引用
案例:
<?php class a{ var $abc="ABC"; } $b=new a; $c=$b; echo $b->abc;//這里輸出ABC echo $c->abc;//這里輸出ABC $b->abc="DEF"; echo $c->abc;//這里輸出DEF ?>
引用,其實(shí)就是一個(gè)變量空間,賦予了多個(gè)操作名稱,這些操作名稱,都指向同一個(gè)操作空間,其中一個(gè)操作名稱對(duì)其空間操作,其他操作名稱得到的結(jié)果也會(huì)變化。
引用的作用:
一般來說,每次聲明一個(gè)變量,其就會(huì)占用一定的空間。
函數(shù)傳參的方便,直接修改原有空間的內(nèi)容,同時(shí)也減少中間變量的空間的開銷。
關(guān)于PHP中引用&的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。