[英]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.