php按引用传递,php – 通过引用传递与传递值

function sum($y) {

$y = $y + 5;

}

$x = 5;

sum($x);

echo $x;

?>

所以我有这个代码.问题是:它输出了什么?答案:5.如何输出10?答案:总和(& $x).

问题是我不明白为什么第一个问题的答案是5.当你得到总和($x)时,它不应该用$x替换函数,所以$x = 5 5 = 10?为什么答案是5?我真的不明白.有人解释了与指针和地址相关的东西,但我不明白.我从来没有理解指针的概念,我用谷歌搜索它,显然在PHP中没有指针,所以我非常困惑.我的朋友说变量是由一个值和该值的内存地址组成的.有人可以解释我,就像我5岁,为什么答案是5而不是10?请

解决方法:

让我们假装$x是一张纸,上面写着5张.

function sum($y) {

$y = $y + 5;

}

这里$y是你所写的价值.你在脑海中添加了5这样的值,但是音符保持不变.

function sum(&$y) {

$y = $y + 5;

}

使用引用运算符(& $y),将文件传递给函数,并覆盖写在其上的内容.

对于像数字这样的原始值,我不会打扰并始终返回您想要的值:

function valuePlusFive($x) {

return $x + 5;

}

$x = 5;

$x = valuePlusFive($x);

标签:php,reference

来源: https://codeday.me/bug/20190713/1449114.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值