可以將一個變量通過引用傳遞給函數,這樣該函數就可以修改其參數的值。語法如下:
<?phpfunction foo(&$var){ $var++;}$a=5;foo($a);// $a is 6 here?>
以下內容可以通過引用傳遞:
變量,例如 foo($a)
New 語句,例如 foo(new foobar())
從函數中返回的引用,例如:
<?phpfunction &bar(){ $a = 5; return $a;}foo(bar());?>
任何其它表達式都不能通過引用傳遞,結果未定義。例如下面引用傳遞的例子是無效的:
<?phpfunction bar() // Note the missing &{ $a = 5; return $a;}foo(bar()); // 自 PHP 5.0.5 起導致致命錯誤foo($a = 5) // 表達式,不是變量foo(5) // 導致致命錯誤?>