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

static 和 global的更多相关文章

  1. C/C++ static vs global

    static has a very simple logic to it. If a variable is static, it means that it is a global variable ...

  2. swoole为什么不建议使用static和global

    $http = new swoole_http_server("0.0.0.0", 9501); $http->on("request", functio ...

  3. error X3025:global variables are implicitly constant, enable compatibility mode to allow modification

    global variables are implicitly constant, enable compatibility mode to allow modification http://xbo ...

  4. php中变量引用&不可与global共同使用

    问题来源,新公司debug. 程序中代码大致如下 class Ci { private static $instance = NULL; public $name = 'hello'; public ...

  5. 从DOM操作看Vue&React的前端组件化,顺带补齐React的demo

    前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue ...

  6. [c++] Smart Pointers

    内存管理方面的知识 基础实例: #include <iostream> #include <stack> #include <memory> using names ...

  7. [Scala] Scala基础知识

    Object An object is a type of class that can have no more than one instance, known in object-oriente ...

  8. PHP变量作用域详解(二)

    学过C的人用PHP的时候一般会相当顺手,而且感到PHP太方便太轻松.但在变量作用域这方面却与C有不同的地方,搞不好会相当郁闷,就找不到错误所在.昨晚就与到这么一个问题,是全局变量在函数中的问题.今天搜 ...

  9. effective OC2.0 52阅读笔记(六 块与大中枢派发)

    派发队列:dispatch_queue 操作队列:NSOperationQueue  组:dispathc_group_t 37 理解“块”这一概念 总结:块就是一个值,且自有其相关类型.块的强大之处 ...

随机推荐

  1. ory Oathkeeper docker-compose 安装运行

    Oathkeeper 相关介绍可以参考官方文档,主要就是cloud native 身份以及访问代理 运行环境使用docker 安装(api proxy ) Dockerfile api: docker ...

  2. php递归函数return会出现无法正确返回想要值的情况

    php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧: 1 2 3 4 5 6 7 8 9 function te ...

  3. 写了一篇关于 FastAdmin 插件路由的分析文章

    写了一篇关于 FastAdmin 插件路由的分析文章 插件路由演示 ThinkPHP 的路由就像是整个应用的调度室,让你的应用 url 更友好,而且让应用更安全,不会让真实的地址暴露出去. 了解过 L ...

  4. java newInstance() 的参数版本与无参数版本详解

    newInstance() 的参数版本与无参数版本详解 博客分类: Core Java   通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.new ...

  5. Zabbix 命令:zabbix_get

    zabbix_get 作用总有人在群里提问,为什么 zabbix 获取不到数据,为什么 zabbix 提示 Not Support,怎么办?别老问,用 zabbix_get 试着获取数据即可.在 za ...

  6. JVM内存监视手段和内存溢出解决方案

    引言 本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性.概念性的了 ...

  7. Java-Runoob-高级教程-实例-数组:07. Java 实例 – 数组合并

    ylbtech-Java-Runoob-高级教程-实例-数组:07. Java 实例 – 数组合并 1.返回顶部 1. Java 实例 - 数组合并  Java 实例 以下实例演示了如何通过 List ...

  8. 学习笔记之Elasticsearch

    Elasticsearch: RESTful, Distributed Search & Analytics | Elastic https://www.elastic.co/products ...

  9. python selenium-4自动化测试模型

    1.线性测试 特点:每一个脚本都是完整且独立的,可以单独执行. 缺点:用例的开发与维护成本很高 2.模块化驱动测试 特点:把重复的操作独立成公共模块,提高测试用例的可维护性 示例:将搜索封装到func ...

  10. delphi WebBrowser的使用方法详解(三)

    WebBrowser 操作记要 WebBrowser1.GoHome;  //到浏览器默认主页 WebBrowser1.Refresh;  //刷新 WebBrowser1.GoBack;  //后退 ...