php中static关键字的作用是:1、放在函数内部修饰变量,函数执行完后变量值仍然保存;2、放在类中修饰属性或方法,如果修饰的是类的属性,则保留值;3、放在类的方法中修饰变量;4、修饰全局作用域的变量。

static关键字的作用如下:

1、放在函数内部修饰变量;

2、放在类里修饰属性或方法;

3、放在类的方法里修饰变量;

4、修饰全局作用域的变量;

关键字所表示的不同含义如下:

1、在函数执行完后,变量值仍然保存

如下所示:<?php

function testStatic() {

static $val = 1;

echo $val;

$val++;

}

testStatic(); //output 1

testStatic(); //output 2

testStatic(); //output 3

?>

2、修饰属性或方法,可以通过类名访问,如果是修饰的是类的属性,保留值

如下所示:<?php

class Person {

static $id = 0;

function __construct() {

self::$id++;

}

static function getId() {

return self::$id;

}

}

echo Person::$id; //output 0

echo "
";

$p1=new Person();

$p2=new Person();

$p3=new Person();

echo Person::$id; //output 3

?>

3、修饰类的方法里面的变量

如下所示:<?php

class Person {

static function tellAge() {

static $age = 0;

$age++;

echo "The age is: $age

";

}

}

echo Person::tellAge(); //output 'The age is: 1'

echo Person::tellAge(); //output 'The age is: 2'

echo Person::tellAge(); //output 'The age is: 3'

echo Person::tellAge(); //output 'The age is: 4'

?>

4、修饰全局作用域的变量,没有实际意义

如下所示:<?php

static $name = 1;

$name++;

echo $name;

?>

另外:考虑到PHP变量作用域

include 'ChromePhp.php';

$age=0;

$age++;

function test1() {

static $age = 100;

$age++;

ChromePhp::log($age); //output 101

}

function test2() {

static $age = 1000;

$age++;

ChromePhp::log($age); //output 1001

}

test1();

test2();

ChromePhp::log($age); //outpuut 1

?>

可以看出,这3个变量是不相互影响的。另外,PHP里面只有全局作用域和函数作用域,没有块作用域。

如果您想学习更多相关知识,欢迎访问gxlcms。

php 中的作用是什么,php中static关键字的作用是什么相关推荐

  1. c++语言static作用,详解c++中的 static 关键字及作用

    注:若没有特指是 静态成员时,默认都是普通成员: 1 类中的普通成员 类中的成员变量 和 成员函数 是分开存储的.其中, 1)每个对象都有独立的成员变量:成员变量可以存储在 栈空间.堆空间.全局数据区 ...

  2. C++中 static 关键字的作用

    C++中 static 关键字的作用 对于函数定义和代码块之外的变量声明,static 修改标识符的链接属性,由默 认的 external 变为 internal,作用域和存储类型不改变,这些符号只能 ...

  3. c语言 static 关键字的作用

    static 关键字的作用 全局静态变量 局部静态变量 静态函数 类的静态成员 类的静态函数 全局静态变量 在全局变量前加上关键字 static,全局变量就定义成一个全局静态变量. 静态存储区,在整个 ...

  4. C++static关键字的作用

    C++ --static关键字的作用 1.全局静态变量 : 在全局变量前加上关键字static,全局变量就变成了一个全局静态变量. 静态存储区:在整个程序执行期间一直存在. 初始化:未经初始化的全局静 ...

  5. Java的Static关键字的作用

    static关键字的作用 参考博客:static关键字的四种用法 static : 静态的 Static的特点 1.static是一个修饰符,用于修饰成员 2.static修饰的成员被所有的对象所共享 ...

  6. C/C++中static关键字的作用

    在C语言中static的作用如下 第一.在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放.  第二.static修饰全局变量的时候, ...

  7. java中static关键字的作用_面试|static 关键字有什么作用

    今天主要学习下Java语言中的static关键字. static关键字的含义及使用场景 static是Java50个关键字之一.static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局 ...

  8. Java中static关键字的作用

    static关键字主要有两种作用: 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static ...

  9. java static关键字的作用是什么_java中的static关键字

    一.static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概念,在Java中static表示"全局"或者 ...

最新文章

  1. 学科顶尖!这些高校,“双一流”潜力股!
  2. Ubuntu18.04将软件(Eclipse)固定在侧边收藏夹
  3. Guice系列之用户指南(五)
  4. 最小生成树的Kruskal算法实现
  5. jstack+top 定位占用资源的进程
  6. php include不可用,无法设置PHP include_path
  7. 三家快递公司涨派费:9月1日起每票上调0.1元
  8. 程序员如何帮助公司快速上市、获得分红?
  9. 【转载】asp.net core 入门
  10. 阻塞与非阻塞都是什么呢?
  11. FPGA远程更新之限制条件
  12. python中字符a如何变成b_python 如何把'a=b'这样的字符解析成dict类型
  13. 山石网科Hillstone防火墙L2TP详细配置步骤(官方最新版)
  14. Scaling Your Node.js Apps 免积分下载
  15. DoTween延时办法
  16. 日本测试人工智能破案,“机械战警”渐行渐近
  17. TI AWR1642毫米波雷达学习笔记之理论基础(2)
  18. 苹果好用计算机软件,别让你的苹果电脑再吃灰了,几款小众好用的软件推荐
  19. Python|做一个无线弹窗病毒
  20. 项目总结与复盘的12条“秘诀”!看完还怕做不好项目管理?

热门文章

  1. 【C语言】创建一个函数,判断某一正整数是否为水仙花数,并调用这个函数找出1000以内所有水仙花数...
  2. 编程时请选择正确的输入法,严格区分中英文
  3. C#LeetCode刷题之#628-三个数的最大乘积( Maximum Product of Three Numbers)
  4. python三方库之paramiko
  5. linux sudo提权
  6. dagger2 注入_如何使用Dagger 2在您的应用程序中实现依赖注入
  7. C语言:用单链表实现输入排序
  8. Flask 正则路由匹配——转换器
  9. ExtJs2.0学习系列(4)--Ext.FormPanel之第一式
  10. 深度学习《CNN架构续篇 - 正则化》