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. (精)AVL树旋转共8种情况(涵盖所有考研的范围)

  2. Linux小问题以及解决方案

    1.Linux的时间有问题? ntpdate pool.ntp.org 2.要把一条命令开机执行开机 vim /etc/rc.local 添加要执行的命令 3.系统中网络进程的端口监听情况: nets ...

  3. kafka 安装与配置

    下载 地址:https://kafka.apache.org/downloads 这里下载的是kafka_2.11-0.11.0.1.tgz 解压 tar -xzf kafka_2.11-0.11.0 ...

  4. BaseDao的编写:实现 增,删,改,查,分页这些公共方法的编写

    1.BaseDao接口 package com.learning.crm.base; import java.io.Serializable; import java.util.List; publi ...

  5. appium--每次启动会重新安装的问题(没试过)

    有人说加这个 最后 大神说 在appium哪里就可以设置了  对,第一个不勾选就不会安装了[经理][Java]大连●Messi_Z(726862194)  15:54:10把这些东西全去掉就好了

  6. 求交错序列前N项和(15 分)

    7-2 求交错序列前N项和(15 分) 本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在 ...

  7. VBA 自动得到分数

    ' 将一个正数除以 y 返回一个整数或分数 Function RFs(ByVal x As Integer) As String Then RFs = Exit Function End If Dim ...

  8. CSS 标签实例二

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 廖雪峰Java1-2程序基础-1基本结构

    1.类名 类名首字母大写 类名必须是英文字母.数字和下划线的组合 类名必须是以英文字母开头 好的命名:Hello NoteBook VRPlayer 不好的命名:hello 跟无意义的数字Good12 ...

  10. ubuntu14.04 login loop issue

    无法进入图形界面的所有问题几乎都碰到了,可惜尝试所有办法,还是各种broken packages 等,无法重装 ubuntu-desktop 成功. 耽误了2天,果断决定重装系统算了..尽管很多软件, ...