PHP修饰符:global和static

function testGloabl(){
        global $testGloabl;
        $testGloabl = 2;
        $testGloabl ++;
     }
     testGloabl();
     echo $testGloabl."".$GLOBALS['testGloabl'];
   
     function testStatic(){
        static $testStatic = 2;
        $testStatic ++;
     }

    testStatic();
    echo $testStatic;//使用static关键字的变量,在函数外部访问将会提示 $testStatic未定义;

说明:
1.使用global定义的关键字,当这个关键字所在函数被调用后,它将在当前脚本的任何位置可以被访问到
2.使用static定位的关键字,当这个关键字所在函数内被访问,该函数外其他地方无法访问到。
共同点:global  static 都可以使定位的变量指向同一块内存区域。

时间: 2024-11-01 19:04:27

PHP修饰符:global和static的相关文章

java的单例、static修饰符及static的继承

单例设计模型: static修饰符: ①:static静态只有一份(同一个虚拟机中) (节省资源),类代码被装载内存时,静态代码分配内存,并执行,并且常驻内存. 可参考:类加载顺序 ②:Static修饰成员变量,成为"类变量",属于整个类,类的共享变量.注:不能修饰局部变量.          static是一块为整个类共有一块存储区域,静态变量只有一份,值变化后,所有访问值变化生效.          java中用类名调用static变量和方法(对象调用也可以):类名.变量(方法名)

Java修饰符 abstract,static,final 的区别详解_java

static 表示静态,它可以修饰属性,方法和代码块. 1.static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这个属性成为本类的类变量,为本类对象所共有.这个属性就是全类公有.(共有的类变量与对象无关,只和类有关). 类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件(字节码文件)读入JVM(java虚拟机),这个过程成为类的加载.JVM(java虚拟机)会通过类路径(CLASSPATH)来找字节码文件. 类变量,会

JAVA 入坑教程 | 章节四 修饰符

Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 例子 public class className { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; public static void main(String[] arguments) { // 方法体 } 修饰符 当前类 同一包内 子孙类 其他包

C#中的访问修饰符

static: 静态修饰符  1.使用static修饰符声明属于类型本身而不是属于特定对象的静态成员  2.如果使用static修饰类,则他的所有成员都必须为静态成员  3.使用static修饰的函数,只需要通过类型名称来引用它,不能通过实例来引用静态成员函数 readonly:只读访问修饰符  1.被readonly修饰的属性只能读取,不能更改属性值 public:共有访问修饰符  1.公共访问是允许最高的访问级别,能够在一个类中,通过实例化另一个类,然后访问它的成员 protected:成员

探讨Java语言中那些修饰符_java

一.在java中提供的一些修饰符,这些修饰符可以修饰类.变量和方法,在java中常见的修饰符有:abstract(抽象的).static(静态的).public(公共的).protected(受保护的).private(私有的).synchronized(同步的).native(本地的).transient(暂时的).volatile(易失的).final(不可改变的) 二.修饰顶层类的修饰符包括abstract.public和final,而static.protected和private不能修

Java编程那些事儿65——static修饰符

修饰符的作用是让被修饰的内容具备特定的功能,在程序中合理使用修饰符可以在语法和功能上实现很多需要的效果.Java语言中的修饰符主要有5个:static.final.native.abstract和synchronized.这里首先讲解static.final和native的作用. 8.7.1 static修饰符 static关键字的中文意思是静态的,该修饰符可以修饰成员变量,成员常量和成员方法.使用该关键字修饰的内容,在面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以st

Java语言入门教程(六):Java语言中的static修饰符

在Java类中,我们常常会看到static关键字,往往被称为静态的.Static修 饰符可以用来修饰数据成员,方法成员,但是不能修饰类(此处指外部类),不 能修饰构造方法.如: package com.csst.vo; public class User { private String name; private static int count; public String getName() { return name; } public void setName(String name)

方法-求问:java里面static修饰符作用

问题描述 求问:java里面static修饰符作用 static作用具体是什么,非static作用又是什么,static修饰方法和属性分别是什么效果,具体点谢谢 解决方案 static 是全局变量, 如 static int c=0; c=c+1; 那么这变量,就是一个全局变量, 每一次改变它都会执行,但是再给它赋值 就会报错 再这样写 c=5; 系统就会报错. 解决方案二: static修饰的成员变量或者成员函数,是直接通过类名来访问的,不需要实例化的. 而非静态的成员方法的访问需要通过实例化

修饰符-public static void main(String[] args)

问题描述 public static void main(String[] args) 本人初学者,public static void main(String[] args) 这句代码中的 修饰符及参数总是不理解,请大神解答.谢谢!!! 解决方案 public static void main(String[] args) public 这是一个公有的方法 static 这是一个静态的方法 void 没有返回值 main 方法名 String[] args,这是参数,程序运行的时候可以加上参数

static 成员变量-成员变量的问题 static修饰符

问题描述 成员变量的问题 static修饰符 为什么成员变量s前面一定要加static,否则就报错 解决方案 这个道理很简单,实例变量是每个对象实例都有的,而静态方法是一个类才有一个的. 看下面的代码 class Test { public int i; static void foo() { println(i); } } 我们假设这代码是可以编译的 看如下调用 Test t1 = new Test(); t1.i = 1; Test t2 = new Test(); t2.i = 2; Te