当前位置:  首页>> 技术小册>> PHP8入门与项目实战(2)

一般的变量很容易理解,但是有两个概念比较容易混淆,就是可变变量和变量的引用。

可变变量是一种特殊的变量,它允许动态改变一个变量名称。其工作原理是该变量的名称由另一个变量的值来确定,实现过程就是在变量的前面再多加一个美元符号“$”。

在一个变量前加上“&”,然后赋值给另一个变量,这就是变量的引用赋值。

通过下面的例子对它们进行说明。

【例3.4】

  1. <?php
  2. $aa = "bb"; // 定义变量$aa并赋值
  3. $bb = "征蓬出汉塞,归雁入胡天。"; //定义变量$bb并赋值
  4. echo $aa; // 输出变量$aa
  5. echo "<br/>";
  6. echo $$aa; //通过可变变量输出变量$bb的值
  7. $bb = "大漠孤烟直,长河落日圆。"; //重新给变量$bb赋值
  8. echo "<br/>";
  9. echo $$aa;
  10. echo "<br/>";
  11. $a = 100;
  12. $b = 200;
  13. echo $a;
  14. echo "<br/>";
  15. echo $b;
  16. echo "<br/>";
  17. $b = &$a; //变量的引用
  18. echo $a;
  19. echo "<br/>";
  20. echo $b;
  21. $b = 300;
  22. echo "<br/>";
  23. echo $a;
  24. echo "<br/>";
  25. echo $b;
  26. ?>

本程序运行结果如图3-4所示。

【案例分析】
1)在代码的第一部分,$aa被赋值bb。若$aa相当于bb,则$$aa相当于$bb。所以当$$aa被赋值为“征蓬出汉塞,归雁入胡天。”时,打印$bb就得到“征蓬出汉塞,归雁入胡天。”。反之,当$bb变量被赋值为“大漠孤烟直,长河落日圆。”时,打印$$aa同样得到“大漠孤烟直,长河落日圆。”。这就是可变变量。

(2)在代码的第二部分里,$a被赋值100,然后通过“&”引用变量$a并赋值给$b。这一步的实质是,给变量$a添加了一个别名$b。所以打印时,$a和$b都得出原始赋值100。由于$b是别名,和$a指的是同一个变量,因此当$b被赋值300后,$a和$b都得到新值300。

(3)可变变量其实是允许改变一个变量的变量名,允许使用一个变量的值作为另一个变量的名。

(4)变量引用相当于给变量添加了一个别名,使用“&”来引用变量。其实两个变量名指的是同一个变量。就像是给同一个盒子贴了两个名字标签,两个名字标签指的是同一个盒子。


该分类下的相关小册推荐: