• php常量和变量之变量引用


     

    变量引用

    变量引用很多老师喜欢来用C语言的指针来去讲解。我们作为有这么多年开发和教学经验的人来说——大多数学习PHP的人来说根本不了解C语言。

    使用C语言一指针来讲解变量引用,我们觉得画蛇填足。并且,不利于没有C语基础的朋友们学习。

    关于变量引用的知识点,请以我们的讲解为理解的基准!大理石量具哪家好

    我们来对比两段代码的执行结果:
    第一段代码,没有任何区别。跟我们原有的PHP代码一模一样:

    <?php
    
    $fo = 5;
    //$fo的值为5,将5赋值
    $bar = $fo;
    //$bar的值原来为5,现在将值改为6
    $bar = 6;
    //$bar的结果为6
    echo $bar.'<br />';
    //$fo的结果为5
    echo $fo.'<br />';
    
    ?>

    第二段代码:

    <?php
    
    $fo = 5;
    //注意,加上了一个&符哟
    $bar = &$fo;
    
    $bar = 6;
    //$bar的结果为6
    echo $bar.'<br />';
    //$fo的结果为6
    echo $fo.'<br />';
    
    ?>

    为什么两个结果都变成6了呢?

    我经常跟大家这样来举例。我们可以这样来想象:一个变量名,对应了一个数据值。如下图:

    2015-08-02_55bdc64daf9e3.png

    而加上&(and 符后),把变量指向同一个存值空间了,如下图:

    2015-08-02_55bdc68312f9b.png

    也就是不论$fo或$bar的值如何发生变化,$fo变$bar也变,$bar发生变化,$fo也会发生变化。

    举个不靠谱的例子,方便你来理解:
    你家有只小狗,叫作旺财。又有一只小狗叫作狗蛋。有一天,你把狗蛋给吃了。把狗蛋这个名字给了旺财

    那么,你不论是打狗蛋一下,还是打旺财一下都是打的同一条狗。


    注:如果你理解、了解、熟悉C语言的指针。可自行用指针方式来理解,不在本文的讨论范围内

  • 相关阅读:
    Codeforces Round #733
    [ZJOI2007] 时态同步(树形dp)
    最大子树和(树形dp)
    P2015 二叉苹果树
    没有上司的舞会(经典树形dp)
    P3884 [JLOI2009]二叉树问题(LCA)
    Bin Packing Problem(线段树 + multiset)
    P4281 [AHOI2008]紧急集合 / 聚会(最近公共祖先)
    P3128 [USACO15DEC]Max Flow P(LCA 树上差分)
    java中Set接口用法
  • 原文地址:https://www.cnblogs.com/furuihua/p/12061128.html
Copyright © 2020-2023  润新知