博客列表 >php变量的赋值方式:传值赋值与引用赋值

php变量的赋值方式:传值赋值与引用赋值

余生
余生原创
2020年11月21日 22:24:212574浏览

传值赋值:将源变量的值复制一份新的值内存空间地址给另一个变量,修改两个变量的值互不影响;
引用赋值:新的变量引用/指向了原始变量,互相影响,没有复制操作,更加快捷。

  1. <?php
  2. //传值赋值
  3. // 赋值变量a为99
  4. $a = 99;
  5. // 让变量b等于变量a
  6. $b = $a;
  7. // 输出变量b
  8. echo $b;// 输出99
  9. // 修改变量a的值为900
  10. $a = 900;
  11. echo '<hr>';
  12. // 此时输出变量b的值依旧为99 ,不受修改值的影响
  13. echo $b;
  1. <?php
  2. //引用赋值
  3. // 赋值price为88
  4. $price = 88;
  5. // 通过&符让变量price1 引用$price的值88
  6. $price1 = &$price;
  7. //此时输出price1 输出值为88
  8. echo $price1;
  9. echo '<hr>';
  10. //修改 原始变量 price的值为'大佬'
  11. $price = '大佬';
  12. // 此时再输出price,输出值为'大佬'
  13. echo $price1;
  1. //引用赋值内存不同体
  2. <?php
  3. // 赋值foo 为40
  4. $foo = 40;
  5. // 赋值bar引用foo
  6. $bar = &$foo;
  7. // 输出bar
  8. echo $bar;
  9. // 释放foo ,仅将两个值取消关联
  10. unset($foo);
  11. // 再输出bar 正常输出
  12. echo $bar;

总结:传值赋值是不受原始值的再次修改影响的,除非修改原始值,传值赋值才会受到改变,而引用赋值则会受到原始值修改的影响,但是内存是不同体的(此处有待理解)。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
灭绝师太2020-11-23 13:54:101楼
如果引用赋值导致两个变量内存同体的话,销毁一个变量,另一个变量也会被释放~例子证明结果是相反的,所以说引用赋值不会导致两个变量在内存上同体~