函數的參數我最近碰到定義爲一個函數來如下:
function *functionname* (&$parameter1, &$parameter, $parameter3)
有人能告訴我這是什麼的&意味着在$parameter1
和$parameter2
前嗎?謝謝你的幫助!
函數的參數我最近碰到定義爲一個函數來如下:
function *functionname* (&$parameter1, &$parameter, $parameter3)
有人能告訴我這是什麼的&意味着在$parameter1
和$parameter2
前嗎?謝謝你的幫助!
這意味着通過參考。
裁判:http://php.net/manual/en/language.references.pass.php
通常情況下,PHP是一個pass by value
但如果你想參照執行通,你可以做&$var
<?php
function foo(&$var)
{
$var++;
}
function bar() // Note the missing &
{
$a = 5;
return $a;
}
foo(bar()); // Produces fatal error as of PHP 5.0.5, strict standards notice
// as of PHP 5.1.1, and notice as of PHP 7.0.0
foo($a = 5); // Expression, not variable
foo(5); // Produces fatal error
?>
http://php.net/manual/en/functions.arguments.php
爲了有一個參數一個函數總是通過引用傳遞,在函數defi中將一個&符號(&)添加到參數名稱中nition:
您正在通過引用來分配該數組值。
傳遞參數通過引用(& $)和$是,當你通過引用傳遞參數,你對原變量的工作,如果你改變它自己的函數中它會被以及它的外面發生變化,如果指您傳遞的參數作爲一個拷貝,函數創建複製本拷貝這個變量的情況下,和工作,所以如果你在函數改變它也不會被外面改變了它
[PHP文件] (http://www.php.net/manual/en/functions.arguments.php#functions.arguments.by- reference)和「通過引用傳遞參數」 –