在函数php中使用链接有啥区别? [复制]
Posted
技术标签:
【中文标题】在函数php中使用链接有啥区别? [复制]【英文标题】:What is difference using link in function php? [duplicate]在函数php中使用链接有什么区别? [复制] 【发布时间】:2020-02-22 16:35:09 【问题描述】:我有一个函数:
$array_numbers = [];
function uniqueNumber(& $array_numbers, $from, $to)
$number = rand($from, $to);
if (!in_array($number, $array_numbers))
$array_numbers[] = $number;
else
uniqueNumber($array_numbers, $from, $to);
在参数函数中使用链接& $array_numbers
的原因是什么?
没有链接的传递数组$array_numbers
中的结果将相同
【问题讨论】:
你的函数不返回任何结果。 @u_mulder 这可能就是为什么使用&
。
它被称为“参考”,这里有解释-php.net/manual/en/language.references.pass.php
函数不能返回值,不是吗?
【参考方案1】:
如果你使用链接,那么数组将改变外部函数
$array_numbers = [];
function uniqueNumber(&$array_numbers)
$array_numbers[] = 1;
$array_numbers 将包含 [1]
$array_numbers = [];
function uniqueNumber($array_numbers)
$array_numbers[] = 1;
$array_numbers 将为空 []
【讨论】:
以上是关于在函数php中使用链接有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章