[在函数php中使用链接有什么区别? [重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我有一个功能:

$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中的结果相同

php
1个回答
0
投票

如果使用链接,则数组将在外部函数之外更改

$array_numbers = [];
function uniqueNumber(&$array_numbers) {
    $array_numbers[] = 1;
}

$ array_numbers将包含[1]


$array_numbers = [];
function uniqueNumber($array_numbers) {
    $array_numbers[] = 1;
}

$ array_numbers将为空[]

© www.soinside.com 2019 - 2024. All rights reserved.