在函数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中使用链接有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

PHP中函数的参数和参数有啥不同? [复制]

网络抓取和网络抓取有啥区别? [复制]

范围和链接有啥区别?

在标签和输入上使用 id 标签有啥区别? [复制]

javascript函数中的()和有啥区别? [复制]

仿真和模拟有啥区别? [复制]