zoukankan      html  css  js  c++  java
  • php变量那些事:学习过程中遇到的关于php变量的有趣的问题(不断发现不断更新)

    不断发现……,不断更新……,不断寻找答案……
    例子的测试环境:php5.3,win7,64位
    Num1:
    <?
    $a=array(1,2,3,4,5,6);
    $b=$a;
    $m=memory_get_usage();
    unset($b[1],$b[2]);
    $mm=memory_get_usage();
    echo $mm-$m;   #####392
    ?>
    <?
    $a=array(1,2,3,4,5,6);
    $b=array(1,2,3,4,5,6);
    $m=memory_get_usage();
    unset($b[1],$b[2]);
    $mm=memory_get_usage();
    echo $mm-$m;   #####-80
    ?>
    上边那个,unset释放内存后,php使用内存量不但没有减少,而且还反而增加了。下边的是正常的。为什么?"变量的分离 copy on write" 。以后说……
    Num2:
    <?
    $a=1;
    $b=&$a;
    unset($b);
    echo $a; ######1
    ?>
    unset到底做了啥啊,php中引用到底什么个情况。以后说……
    Num3:
    <?
    $a = 1;
    function test(){
        unset($GLOBALS['a']);
    }
    test();
    echo $a;########PHP Notice:  Undefined variable: a
    ?>
    <?
    $a = 1;
    function test(){
    global $a;
    unset($a);
    }
    test();
    echo $a;#####1
    ?>
    一个抱notice变量找不到,一个正常输出。$GLOBALS和global有啥区别(曾经看到过腾讯一个面试题)。以后说……(global $var相当于&$GLOBALS['var'],这个问题追加到Num2)

  • 相关阅读:
    TCP和UDP协议?
    了解浏览器缓存机制吗?
    关于预检请求?
    cookie可设置哪些属性?httponly?
    http和https?
    vue自定义组件?
    实现页面回退刷新?
    vue3.0的更新和defineProperty优化?
    vue的seo问题?
    vuex组成和原理?
  • 原文地址:https://www.cnblogs.com/tdkj/p/3440139.html
Copyright © 2011-2022 走看看