Android程序员学PHP开发(4)-可变变量变量引用-PhpStorm

转载请注明出处: http://blog.csdn.net/iwanghang/article/details/54341683
觉得博文有用,请点赞,请评论,请关注,谢谢!~

不贴图了,打印结果直接写在代码里,比贴图清晰。


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




转载请注明出处: http://blog.csdn.net/iwanghang/article/details/54341683



欢迎移动开发爱好者交流
沈阳或周边城市公司有意开发Android,请与我联系
联系方式

微信:iwanghang
QQ:413711276
邮箱:iwanghang@qq.com



觉得博文有用,请点赞,请评论,请关注,谢谢!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值