自己乘以PHP

时间:2019-03-18 02:46:37

标签: 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

第二个代码:

function doubled($integer) {
    $integer *= $integer;
    return $integer;
}

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

1 个答案:

答案 0 :(得分:1)

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

将函数签名更改为function doubled(&$integer) 使用其返回值$integer = doubled($integer);,并输出400