PHP 引用傳遞

引用傳遞:可以將一個(gè)變量通過引用傳遞給函數(shù),這樣該函數(shù)就可以修改其參數(shù)的值。語法如下:

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
// $a is 6 here
?>

注意在函數(shù)調(diào)用時(shí)沒有引用符合,只有函數(shù)定義中有。光是函數(shù)定義就足夠使參數(shù)通過引用來正確傳遞了。
以下內(nèi)容可以通過引用傳遞:

  • 變量;
  • new 語句;
  • 從函數(shù)中返回的引用。

示例:

<?php
function &bar()
{
    $a = 5;
    return $a;
}
foo(bar());
?>

任何其他表達(dá)式都不能通過引用傳遞,結(jié)果未定義。例如下面引用傳遞的例子是無效的:

<?php
function foo(&$var)
{
    $var++;
}
function bar() // Note the missing &
{
    $a = 5;
    return $a;
}
foo(bar()); // 自 PHP 5.0.5 起導(dǎo)致致命錯(cuò)誤,自 PHP 5.1.1 起導(dǎo)致嚴(yán)格模式錯(cuò)誤
            // 自 PHP 7.0 起導(dǎo)致 notice 信息
foo($a = 5) // 表達(dá)式,不是變量
foo(5) // 導(dǎo)致致命錯(cuò)誤
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,527評(píng)論 19 139
  • php 引用傳遞,這個(gè)東西當(dāng)年學(xué)了,然后從來沒用過,就忘了。偶然間發(fā)現(xiàn)一個(gè)很好的用法,寫下此文。 能猜的結(jié)果是什么...
    黃123閱讀 302評(píng)論 2 1
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,661評(píng)論 1 51
  • 前言 人生苦多,快來 Kotlin ,快速學(xué)習(xí)Kotlin! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,679評(píng)論 9 118
  • 素白是08年的時(shí)候接觸手工冷皂。那時(shí)還是一個(gè)在校生,那時(shí)正直青春年華,皮脂分泌過剩,課業(yè)壓力也大,飲食上不規(guī)...
    素白冷制皂師閱讀 980評(píng)論 0 0

友情鏈接更多精彩內(nèi)容