php中static静态变量的使用方法详解

2015-01-24信息快讯网

php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。

看看下面的实例:
 
<?php 
function Test() 
{ 
$w3sky = 0; 
echo $w3sky; 
$w3sky++; 
} 
?> 

本函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态(static)的:
如下:
 
<?php 
function Test() 
{ 
static $w3sky = 0; 
echo $w3sky; 
$w3sky++; 
} 
?> 

本函数每调用Test()都会输出 $w3sky 的值并加一。
静态变量也提供了一种处理递归函数的方法。递归函数是一种自己调用自己的方法。写递归函数时要小心,因为可能会无穷递归下去,没有出口.务必确保 有方法来中止递归。以下这个简单的函数递归计数到 10,使用静态变量 $count 来判断何时停止:
静态变量与递归函数的例子:
 
<?PHP 
function Test() 
{ 
static $count = 0; 
$count++; 
echo $count; 
if ($count < 10) { 
Test(); 
} 
$count--; 
} 
?> 

注: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。
声明静态变量例子:
 
<?PHP 
function foo(){ 
static $int = 0;// correct 
static $int = 1+2; // wrong (as it is an expression) 
static $int = sqrt(121); // wrong (as it is an expression too) 
$int++; 
echo $int; 
} 
?> 
php empty() 检查一个变量是否为空
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
php数组函数序列之array_key_exists() - 查找数组键名是否存在
PHP中的strtr函数使用介绍(str_replace)
Array of country list in PHP with Zend Framework
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
PHP将DateTime对象转化为友好时间显示的实现代码
Sorting Array Values in PHP(数组排序)
php ajax 静态分页过程形式
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
php.ini中date.timezone设置分析
PHP里的中文变量说明
PHP中static关键字原理的学习研究分析
PHP中获取变量的变量名的一段代码的bug分析
php基础学习之变量的使用
php学习之变量的使用
用php的ob_start来生成静态页面的方法分析
php下删除一篇文章生成的多个静态页面
PHP定时自动生成静态HTML的实现代码
php文章内容分页并生成相应的htm静态页面代码
php 智能404跳转代码,适合换域名没改变目录的网站
用sql命令修改数据表中的一个字段为非空(not null)的语句
php Static关键字实用方法
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
PHP stristr() 函数(不区分大小写的字符串查找)
php strstr查找字符串中是否包含某些字符的查找函数
php set_time_limit(0) 设置程序执行时间的函数
Joomla下利用configuration.php存储简单数据
php getimagesize 上传图片的长度和宽度检测代码
php file_exists 检查文件或目录是否存在的函数
PHP 开发环境配置(Zend Studio)
php将数据库中所有内容生成静态html文档的代码
通用PHP动态生成静态HTML网页的代码
PHP 伪静态隐藏传递参数名的四种方法
php 生成静态页面的办法与实现代码详细版
认识并使用PHP超级全局变量
php 静态变量与自定义常量的使用方法
php学习之 认清变量的作用范围
PHP 变量的定义方法
php smarty模版引擎中变量操作符及使用方法
©2014-2024 dbsqp.com