PHP Manual
后退 | 章 21. 引用的解释 | 前进

# 引用传递

你可以将一个变量通过引用传递给函数，这样该函数就可以修改其参数的值。语法如下：

`<?php function foo (&$var) { $var++; } $a=5; foo ($a); // $a is 6 here ?>`

注意在函数调用时没有引用符号 － 只有函数定义中有。光是函数定义就足够使参数通过引用来正确传递了。

以下内容可以通过引用传递：

- 变量，例如 foo($a)

- New 语句，例如 foo(new foobar())

- 从函数中返回的引用，例如：

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

  详细解释见引用返回。

任何其它表达式都不能通过引用传递，结果未定义。例如下面引用传递的例子是无效的：

`<?php function bar() // Note the missing & { $a = 5; return $a; } foo(bar()); foo($a = 5) // 表达式，不是变量 foo(5) // 常量，不是变量 ?>`

这些条件是 PHP 4.0.4 以及以后版本有的。

后退 | 起点 | 前进
引用不是什么 | 上一级 | 引用返回