PHP static局部静态变量和全局静态变量总结

 更新时间:2014年03月02日 09:35:50   作者:  
使用静态局部变量的原因是它不能被外部使用,但是它的值依然在没此使用后保留。虽然使用全局变量可以实现相同的功能,但是它经常会造成意外

静态局部变量的特点:

1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
2.静态局部变量只会初始化一次
3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。
4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。

复制代码 代码如下:

function test()
{
    static $var = 5;  //static $var = 1+1;就会报错
    $var++;
    echo $var . ' ';
}

 
test(); //2
test(); //3
test(); //4
echo $var; //报错:Notice: Undefined variable: var

关于静态全局变量:

复制代码 代码如下:

//全局变量本身就是静态存储方式,所有的全局变量都是静态变量
function static_global(){
    global $glo;
    $glo++;
    echo $glo.'<br>';
}

static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '<br>'; //3

所以静态全局变量使用并不多。

相关文章

  • PHP的静态方法与普通方法用法实例分析

    PHP的静态方法与普通方法用法实例分析

    这篇文章主要介绍了PHP的静态方法与普通方法用法,结合实例形式分析了PHP静态方法与普通方法的功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • 服务器变量 $_SERVER 的深入解析

    服务器变量 $_SERVER 的深入解析

    本篇文章是对服务器变量$_SERVER进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php返回当前日期或者指定日期是周几

    php返回当前日期或者指定日期是周几

    本文给大家分享的是几个日期函数的格式化方法,十分的简单实用,有需要的小伙伴可以参考下。
    2015-05-05
  • PHP实现简单聊天室(附源码)

    PHP实现简单聊天室(附源码)

    本篇文章是对PHP实现聊天室的源代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php下统计用户在线时间的一种尝试

    php下统计用户在线时间的一种尝试

    一直以来,在web开发中,准确统计用户在线时间都是一个老大难的问题,虽然已经有很多人去尝试各种不同的方案,可是毕竟项目不同,所用到的方法也是千差万别
    2010-08-08
  • 简单介绍PHP的责任链编程模式

    简单介绍PHP的责任链编程模式

    这篇文章主要介绍了PHP的责任链编程模式,也是开发团队广泛采用的一种编程方式约定,需要的朋友可以参考下
    2015-08-08
  • 使用php实现快钱支付功能(涉及到接口)

    使用php实现快钱支付功能(涉及到接口)

    本篇文章是对使用php实现快钱支付功能的代码进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php适配器模式简单应用示例

    php适配器模式简单应用示例

    这篇文章主要介绍了php适配器模式简单应用,结合实例形式分析php适配器模式原理及使用适配器模式创建的天气预报查询接口功能相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • 向PHP传入参数的三种方法

    向PHP传入参数的三种方法

    向PHP传入参数是Web开发中常见的需求,它允许你的PHP脚本接收用户输入、处理数据并生成相应的输出,以下是三种主要的向PHP传入参数的方法,每种方法都有其特定的应用场景和优缺点,需要的朋友可以参考下
    2024-10-10
  • PHP Array交叉表实现代码

    PHP Array交叉表实现代码

    最近需要做到交叉表,而公司的需求比较复杂,一般的交叉表工具都不适合用
    2010-08-08

最新评论