• 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变量和这个例子中也一样,仅仅在类内部有效,并且会持续保持上次的值。

  • 相关阅读:
    MySQL information_schema
    Sqlmap入门
    MySQL UNION
    Order by 1
    yum安装软件时,提示No package netstat available.的解决方法
    Centos7查看端口占用
    查看Centos版本
    Linux非交互方式设置密码
    Hive中的用户自定义函数
    Dbeaver连接Hive和Mysql的配置
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/3667637.html
Copyright © 2020-2023  润新知