簡體   English   中英

在函數中分配和傳遞參考變量

[英]Assigning and passing a reference variable in function

function test(&$a)
{
    $a = $a + 3;

}

如果我先分配變量並調用它:$ a = 3; 測試($ a); 回聲$ a; //它將輸出6

但是如果我做這個測試($ a = 3); 回聲$ a; //它將返回3

這是為什么? 第二個函數調用中的引用變量是否也將其修改為6?

打開嚴格的標准以查看:

僅變量應通過引用傳遞

您不應該期望您的第二個示例完全起作用。 盡管PHP確實記錄了它,但事實確實是巧合。

<?php
function test(&$a)
{
    echo $a;
    $a = $a + 3;
}

test($q = 3);
?>

這輸出3 我對此感到有些驚訝,我希望看到true因為$q = 3通常會成功並因此返回true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM