我想将 $x 加 1:
$x = 1;
function addOne($x) {
$x++;
return $x;
}
$x = addOne($x);
有没有办法通过引用来做到这一点,这样我就不需要返回$x
,我可以只写addOne($x)
?
最佳答案
这就是您要查找的内容,由 &
指示的 by-ref 参数。
$x = 1;
function addOne(&$x) {
$x++;
}
addOne($x);
一些注意事项:
- 按引用参数要求传入的值不是文字。根据上面的示例,
addOne(5)
将引发致命异常 - 对象(包括 stdClass 对象)不需要引用,因为从 PHP 5 开始,所有对象都通过引用传递。
- 数组需要引用,因为 PHP 中的数组不被视为对象
- 如果您想要通过引用传递函数的返回值,则需要在函数名称上指明引用(例如
function &foo()
)。
有关引用文献的更多信息:http://php.net/manual/en/language.references.php
关于php - 如何在 PHP 函数中创建参数引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132384/