PHP unset全局变量在实际使用中只能销毁局部变量,并不能实现全局变量的目的。下面我们就来具体解决这一问题。希望对大家有所帮助。

PHP中语言中有些函数对于初学者来说在字面上是很难理解的,需要在实际编码中总结经验,来掌握这些知识。我们今天要为大家介绍的是PHP unset全局变量在使用中遇到的一些问题。#t#

PHP unset全局变量运用问题详解(Php unset)  unset全局变量 第1张

PHP中有个释放变量的语句叫做unset(从PHP4开始unset已经不再是一个函数了,而是一个语句),前几天用unset的时候出了点问题,于是把unset问题总结如下。如果您仔细阅读过PHP的手册,那么就没必要再看这篇文章了,这篇文章是写给看手册不用心的同学的。

首先要强调的一点是PHP unset全局变量在PHP中已经不再是一个函数了,既然不是函数,那么就没有了返回值,所以用的时候不能够用unset的返回值来做判断。

其次,在函数中,PHP unset全局变量只能销毁局部变量,并不能销毁全局变量,来看下手册的一个例子

  1. <?PHP
  2. functiondestroy_foo(){
  3. global$foo;
  4. unset($foo);
  5. }
  6. $foo=‘bar’;
  7. destroy_foo();
  8. echo$foo;
  9. ?>

返回的结果为

bar

为什么会这样呢?原因就是PHP unset全局变量在函数中只能销毁局部变量。如果在程序中需要用到销毁全局变量的应该如何做呢?也很简单,用$GLOBALS数组来实现。看下面的例子:

  1. <?PHP
  2. functionfoo(){
  3. unset($GLOBALS['bar']);
  4. }
  5. $bar=“something”;
  6. foo();
  7. var_dump($bar);
  8. ?>

转载请说明出处
知优网 » PHP unset全局变量运用问题详解(Php unset)

发表评论

您需要后才能发表评论