background image

PHP

教程 php unset 全局变量运用问题

本文主要为大家讲述了 php 中的 unset 全局变量运用问题,有兴趣的朋友参考下
PHP unset 全局变量在实际使用中只能销毁局部变量,并不能实现全局变量的目的。下面
我们就来具体解决这一问题。希望对大家有所帮助。
 
PHP 中语言中有些函数对于初学者来说在字面上是很难理解的,需要在实际编码中总结
经验,来掌握这些知识。我们今天要为大家介绍的是 PHP unset 全局变量在使用中遇到的
一些问题。
 
PHP 中有个释放变量的语句叫做 unset(从 PHP4 开始 unset 已经不再是一个函数了,而是
一个语句),前几天用 unset

 

的时候出了点问题,于是把 unset 问题总结如下。如果您仔细

阅读过 PHP 的手册,那么就没必要再看这篇文章了,这篇文章是写给看手册不用心的同
学的。
 
首先要强调的一点是 PHP unset 全局变量在 PHP 中已经不再是一个函数了,既然不是函数,
那么就没有了返回值,所以用的时候不能够用 unset 的返回值来做判断。
 
其次,在函数中,PHP unset 全局变量只能销毁局部变量,并不能销毁全局变量,来看下
手册的一个例子
代码如下:
 
< ?PHP

function

 destroy_foo() {

global

 

$foo

;

unset(

$foo

);

}

$foo

 = ‘bar';

destroy_foo();

echo

 

$foo

;

?> 
 
返回的结果为
bar
为什么会这样呢?原因就是 PHP unset 全局变量在函数中只能销毁局部变量。如果在程序
中需要用到销毁全局变量的应该如何做呢?也很简单,用

$GLOBALS

数组来实现。看下

面的例子: