Php 将数字本身相乘

Php 将数字本身相乘,php,Php,为什么这两个函数的输出不一样?请在这一点上给我点化一下 第一个代码: function multiply_itself(&$number) { $number *= $number; return $number; } $my_num = 10; echo "$my_num" . "<br>"; //Output 10 multiply_itself($my_num); echo "$my_num"; //Outputs 100 第二个示例输出20,因为参

为什么这两个函数的输出不一样?请在这一点上给我点化一下

第一个代码:

function multiply_itself(&$number) {
    $number *= $number;
    return $number;
}
$my_num = 10;
echo "$my_num" . "<br>"; //Output 10

multiply_itself($my_num);
echo "$my_num"; //Outputs 100

第二个示例输出
20
,因为参数不像第一个示例那样通过引用传递


将函数签名更改为
函数加倍(&$integer)
或使用其返回值
$integer=double($integer)
并打印
400

您没有指定返回值,并且两个函数中的一个函数具有不同的参数签名。您在第二个示例中响应整数,而不是函数的返回值,但第一个函数在通过引用传递变量时直接更改变量。请原谅我的简短回复,我在手机上。
function doubled($integer) {
    $integer *= $integer;
    return $integer;
}

$integer = 20;
doubled($integer);
echo "$integer"; //Outputs 20, why not 400?