php中global和static两个关键字详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-30 13:18:58 浏览: 评论:0
1.global在整个页面起作用。
2.static只在function和class内起作用。
global和$GLOBALS使用基本相同,但在实际开发中大不相同.
global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,一但改变了别名变量的指向地址,就会发生一些意料不到情况.
$GLOBALS[]确确实实调用是外部的变量,函数内外会始终保持一致.
PHP实例代码如下:
- <?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:
- */
global关键字如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用.
static就是表示静态,所谓的静态,其实是在function或者class内部而言的,function中static的变量,在funciton执行完之后,不会消失,可以在下次执行的时候继续使用.
Tags: php关键字 global static
相关文章
- ·php关键字仅替换一次的实现函数(2021-06-23)
- ·PHP实现关键字搜索后描红功能示例(2021-12-01)
- ·PHP中全局变量global和$GLOBALS[]的区别(2013-12-02)
- ·php 全局变量global的使用方法(2013-12-23)
- ·PHP中global全局变量的作用范围(2014-01-06)
- ·PHP Global变量定义一些用法详解(2014-01-17)
- ·PHP基础笔记函数global变量(2014-02-10)
- ·PHP Global与$GLOBALS变量作用域与区别(2014-02-26)
- ·PHP 全局变量之Global关键字引用解读(2014-03-06)
- ·php中global static和$GLOBALS使用与区别(2014-03-13)
- ·PHP中全局变量global详解(2014-03-13)
- ·php中global和$GLOBALS[]用法区别(2014-03-21)
- ·PHP Global定义全局变量使用说明(2014-07-17)
- ·PHP register_globals自定义全局变量开启(2015-04-08)
- ·php多次include后导致全局变量global失效的解决方法(2021-05-14)
- ·PHP 闭包获取外部变量和global关键字声明变量的区别讲解(2021-08-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)