No more mapping, the printing result is written directly in the code, which is clearer than the mapping.
<?php /** * 下面这4行,官方叫法,可变变量。 * 我管它叫做,动态赋值变量名。 * 只有在php里可以这么玩,因为在 * php的变量名之前有$符。 */ $x = "a"; $$x = "b"; $$$x = "c"; $$$$x = "d"; echo $x; // 打印结果为a echo "<br>"; echo $$x; // 打印结果为b echo "<br>"; echo $$$x; // 打印结果为c echo "<br>"; echo $$$$x; // 打印结果为d echo "<br>"; echo $x; // 打印结果为a echo "<br>"; echo $a; // 打印结果为b echo "<br>"; echo $b; // 打印结果为c echo "<br>"; echo $c; // 打印结果为d echo "<br>"; /**不能打印$d,因为没有这个变量*/ /** * 下面为变量引用 */ $m = 10; $n = 20; $y = &$m; // y引用m的值,等于说,y是m的别名 echo $y; // 打印结果为10 echo "<br>"; $m = $n; echo $y; // 打印结果为20 echo "<br>"; /** * 变量引用1: * 如果引用的变量被释放, * 则保留释放前的值 */ unset($m); // 释放给定的变量 if (isset($y)){ // 这个变量存在 echo "这个变量存在"; // m被释放,但是y保存m释放前的值 echo "<br>"; echo $y; // 打印结果为20 echo "<br>"; }else{ echo "这个变量不存在"; } if (isset($m)){ // 这个变量不存在 echo "这个变量存在"; }else{ echo "这个变量不存在"; // m被释放 所以不存在 echo "<br>"; } /** * 变量引用2: * 引用第二个变量,会自动解除与第一个变量的引用关系 */ $p = 66; $q = &$p; // q引用p的值,等于说,q是p的别名 echo $q; // 打印结果为66 echo "<br>"; $r = 77; $q = &$r; // q引用r的值,等于说,q是r的别名 echo $q; // 打印结果为66 echo "<br>"; $q = 88; // 我们改变q的值,看一下p、r会不会变化 echo $p; // 打印结果为66,p没有变化,说明q和p解除了引用关系 echo "<br>"; echo $r; // 打印结果为88,r变成了q的值,说明q和r形成新的引用关系 echo "<br>";
The above is the content of Android programmers learning PHP development (4)-Variable variable reference-PhpStorm. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!