溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中引用&的使用方法

發(fā)布時(shí)間:2020-04-26 13:50:37 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

這篇文章主要為大家詳細(xì)介紹了PHP中引用&的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。

PHP中引用&的使用方法變量引用

案例:

<?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é)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

php
AI