首頁  >  文章  >  後端開發  >  Android程式設計師學PHP開發(4)-可變變數變數引用-PhpStorm

Android程式設計師學PHP開發(4)-可變變數變數引用-PhpStorm

黄舟
黄舟原創
2017-03-02 09:54:37951瀏覽

不貼圖了,列印結果直接寫在程式碼裡,比貼圖清晰。

<?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>";

 以上是Android程式設計師學PHP開發(4)-可變變數變數引用-PhpStorm的內容,更多相關內容請關注PHP中文網(www.php.cn)!


#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn