PHP 值传递 引用传递
- JS中数组是引用传递
- PHP资源和对象等数据类型是引用传递,其数据类型是值传递(包括数组)
- 栈内存(快速内存)中存放标量数据类型,复合数据类型的变量名和数据地址
对象引用传递
1 | $obj = new stdClass; |
对象参数引用传递
1 | function test($obj){ |
值传递
1 | $a = 1; |
- 循环时引用带来的问题
循环时候由于前后两个循环的变量名字一样,第一个循环时候,实际上是数组中每个元素的值被作为引用传递过去,第二个循环时候,$value这个变量引用的是数组最后一个值,这样最后那个值实际上一直在跟着循环变化
1 | $arr = [ |
解决方法
把第二个循环也改成引用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dev!