You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP代码中未直接修改$a,为何其值会自动增加?

为什么变量$a的值会增加?

核心原因是函数参数用了引用传递——在PHP里,函数参数前加&符号,就表示传递的不是变量的值拷贝,而是变量本身的内存引用。

具体到你的代码:

  • 函数doSomething( &$arg )的参数$arg带了&,意味着当你把$a传入函数时,$arg并不是$a的副本,而是直接指向$a在内存中的存储位置。
  • 函数内部执行$arg += 1时,本质就是直接修改了$a对应的内存数据,所以外部的$a值会跟着变成4。
  • 而$return = $arg是在$arg自增前赋值的,所以返回的是最初的3,这也是$b=3的原因。

内容的提问来源于stack exchange,提问作者xmr6204

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:20:25