gpt4 book ai didi

php - php中这两个语句有什么区别?

转载 作者:行者123 更新时间:2023-12-03 08:26:19 28 4
gpt4 key购买 nike

我在阅读 php 文档中有关箭头函数的内容时遇到了这段代码

fn&($x = 42) => $x;

fn(&$x) => $x;

这两个语句之间有什么区别以及它们的作用是什么?

最佳答案

在第二个中,您使用 &$x 并且通过引用传递变量。它调用按值引用

因此,如果您在函数中执行某些操作,函数外的 $x 将会发生变化。

reference

这里$a的最终值为5:

$a = 5;
$y = fn ($x) => $x++;
$y($a);
echo $a;//5

但是在按值引用中,$a的最终值发生了变化,它是6:

$a = 5;
$y = fn (&$x) => $x++;
$y($a);
echo $a;//6

所以可以看到,在按值引用中,变量的原始值是可以改变的

关于php - php中这两个语句有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66552934/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com