The problem of parameter reference of PHP call_user_func function

it is very clear in the document:

Note: Please note that the parameter passed in call_user_func () cannot be passed to the reference

however, PHP7.0 the following example comes alive

Array
(
    [0] => 0
    [1] => 10
    [2] => 100
    [3] => 100
)
Array
(
    [0] => 4
    [1] => 1
    [2] => 2
    [3] => 3
)

Why is this happening

Php
Jun.14,2022

version 5.6 does the same thing

<?php
echo "PHP:".phpversion();
$arr = [10, 100, 100, 0];
$parma = [1, 3, 2, 4];

call_user_func('array_multisort', $arr, $parma);
print_r($arr); 

print_r($parma);

$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);
print_r($ar1);
print_r($ar2);
?>
PHP:5.6.9-0+deb8u1
Array
(
    [0] => 10
    [1] => 100
    [2] => 100
    [3] => 0
)
Array
(
    [0] => 1
    [1] => 3
    [2] => 2
    [3] => 4
)
Array
(
    [0] => 0
    [1] => 10
    [2] => 100
    [3] => 100
)
Array
(
    [0] => 4
    [1] => 1
    [2] => 2
    [3] => 3
)

I guess it's because of the version. Several other versions of phpstudy are normal, and there is one downstairs

.
Menu