PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】 原创

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP global全局变量的使用与注意事项。分享给大家供大家参考,具体如下:

使用global在方法里面声明外部变量为全局变量,即可以调用该变量。

示例1. global基本用法

<?php
$a=1;
$b=2;
test_global();
function test_global() {
  global $a,$b;
  echo $a+$b; //输出3
}

示例2. global引用

<?php
$var $a=1;
function test(){
  global $a;
  $a++;
  unset($a);
}
test();
echo $a;

运行结果:

2

注意:

1. 此处函数中的global引用了外部的$a,是作为外部变量$a的同名引用或指针。因此函数内部的$a++可以改变外部$a 的值。

2. unset($a)是删除的别名引用,对于变量的值没有任何影响。

补充:$GLOBALS['var']全局变量应用

<?php
$a = 1;
function test(){
  unset($GLOBALS['a']);
}
test();
echo $a;

运行上述代码,输出为空!

注意:这里的$GLOBALS['a']是外部变量本身!即:global $a等价于&$GLOBALS['a']。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP数组(Array)操作技巧大全

希望本文所述对大家PHP程序设计有所帮助。

相关文章

解析php获取字符串的编码格式的方法(函数)

如果不清楚字符串的编码格式的话,就可以将这段字符这样检查:$encode = mb_detect_encoding($string, array("ASCII",'UTF-8′,"GB2...

php插入含有特殊符号数据的处理方法

发现问题 当我们在向mysql写入数据时,如果数据中有特殊字符就会出现数据无法正常入库的情况,比如: mysql_query(”update table set `name`='ma...

使用adodb lite解决问题

我使用adodb完整版的时候, 服务器竟然不支持,我差点自己去写个类, 把adodb的函数实现,以致我不用改我的程序但是现在我用了adodb-lite,这个是简化的版本,还不错,挺好的h...

PHP中对数组的一些常用的增、删、插操作函数总结

有时候我们需要扩展一个数组,或者删掉数组的一部分,PHP为扩展和缩小数组提供了一些函数。对于那些希望模仿各种队列实现(FIFO、LIFO)的程序员来说,这些函数可以提供便利。顾名思义,从...

PHP5中新增stdClass 内部保留类

stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法。stdClass类可以被继承...