zoukankan      html  css  js  c++  java
  • static 和 global

    global

    global关键字如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用。例如

    1. $conf = 1;
    2. function conf_test() {
    3. global $conf;
    4. return ++$conf;
    5. }
    6. echo conf_test()."<br>";
    7. echo conf_test()."<br>";

    输出:

    2

    3

    如果没有global $conf;这句,输出就变成了全是1了。global起的作用就是,在function中,声明这个函数内用的$conf不是局部的,而是全局可用的。或者说,在函

    数内部定义的这个$conf不是函数内的变量,而是这个函数外面(也就是指$conf = 1;)定义的那个$conf.其实这里如果用$GLOBALS数组,就比较容易理解了。我们在

    页面声明一个变量$conf其实相当于在$GLOBALS数组中定义了一项$GLOBALS['conf'].而这个$GLOBALS是全局可见的。所以上面的代码制作成$GLOBALS格式的写法就是

    1. $conf = 1;
    2. function conf_test() {
    3. return ++$GLOBALS['conf'];
    4. }
    5. echo conf_test()."<br>";
    6. echo conf_test()."<br>";

    输出:

    2

    3

    第二个是static关键字

    static就是表示静态。所谓的静态,其实是在function或者class内部而言的。function中static的变量,在funciton执行完之后,不会消失,可以在下次执行的时候

    继续使用,好,还是先给用例子说明吧

    1. function conf_test() {
    2. static $conf = 1;
    3. return ++$conf;
    4. }
    5. echo conf_test()."<br>";
    6. echo conf_test()."<br>";

    输出:

    2

    3

    在这里,如果static $conf = 1改成$conf = 1,那么输出就变成了

    2

    2

    在类中,static变量和这个例子中也一样,仅仅在类内部有效,并且会持续保持上次的值。

  • 相关阅读:
    包的初识与使用
    时间 随机 模块
    规范化开发
    解析Javascript事件冒泡机制
    Java垃圾回收机制
    Java 垃圾收集机制
    javac 编译与 JIT 编译
    JAVA对文件类型的校验
    多态性实现机制——静态分派与动态分派
    类加载机制
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/3667637.html
Copyright © 2011-2022 走看看