Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 PHP比较static global与GLOBALS用法

PHP比较static global与GLOBALS用法

发布时间:2018-04-15   编辑:www.jquerycn.cn
本文介绍了php编程中,static、global与GLOBALS的用法与区别,通过实例来掌握三者的用法,有需要的朋友参考下。

例子,PHP中static global与GLOBALS用法。
 

复制代码 代码示例:
<?php 
// 比较global、GLOBALS、static 
$k = 0; 
function test1() { 
    global $k; 
    static $i = 0; 
    echo 'i:', ++$i, '<br/>'; 
    echo 'k:', ++$k, '<br/>'; 

test1(); 
test1(); 
echo 'i:', $i, '<br/>'; 
echo 'k:', $k, '<br/>'; 
 
echo '------------------<br/>'; 
 
function test2() { 
    global $k; 
    static $i = 0; 
    echo 'i:', ++$i, '<br/>'; 
    echo 'k:', ++$k, '<br/>'; 

test2(); 
test2(); 
echo 'i:', $i, '<br/>'; 
echo 'k:', $k, '<br/>'; 
 
$m = 0; 
$n = 0; 
function test3() { 
    global $m; 
    echo 'm:', $m++ , '<br/>'; 
    echo 'n:', $GLOBALS['n']++ , '<br/>'; 
    unset($m, $GLOBALS['n']); 

echo '------------------<br/>'; 
test3(); 
 
echo 'm:', $m, '<br/>'; 
echo 'n:', $n, '<br/>'; 
 
echo '------------------<br/>'; 
 
static $x = 0; 
function test4() { 
    echo 'x:', $x++ , '<br/>'; 

 
test4();

结果:
i:1
k:1
i:2
k:2
i:
k:2
------------------
i:1
k:3
i:2
k:4
i:
k:4
------------------
m:0
n:0
m:1
n:
------------------
x:

static 作用域 function class中,相同的function class共用相同的变量
global、GLOBALS 全局作用域
global 会产生一个引用到变量
GLOBALS 直接操作变量
所以unset global变量的时候,全局变量不改变,而GLOBALS直接删除了变量

您可能感兴趣的文章:
有关php的全局变量global与$GLOBALS[]的区别
有关php mvc模式的模板引擎开发经验分享
php中global的用法例解
在php自定义函数中使用static
PHP中的引用,“&”解释
有关php的超级全局变量数组
ASP.NET中AJAX 调用实例代码
asp.net取得IP及用户名信息常用方法
php写的一个递归实现无限分类生成下拉列表的函数
php全局变量global的使用示例

关键词: 全局变量   
[关闭]