0

I have a function:

$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); 
    }
}

What is reason to use link & $array_numbers in parameter's function?

Result will be the same in pass array $array_numbers without link

POV
  • 11,293
  • 34
  • 107
  • 201

1 Answers1

1

If you use link then array will change outside function

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

$array_numbers will be contains [1]


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

$array_numbers will be empty []

Dry7
  • 861
  • 1
  • 8
  • 17