欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php获取变量的状态

程序员文章站 2022-05-12 11:05:49
...

isset()
isset()-检测变量是否设置
语法:
bool isset (mixed $var [,mixed $var [,$....]])
说明:
如果var存在则返回true,否则返回false。
注意:
如果该变量之前已经被unset()了或被设置为null,则isset()将返回false。

unset()
unset()-销毁给定的变量
void unset (mixed $var [,mixed $...])
unset()函数的行为依赖于给定的变量的类型而有所不同。如果在函数中 unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。
如果想要unset()一个全局变量,可以使用$GLOBALS数组来实现:
unset($GLOBALS['bar']);
如果unset()一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。

  1. function foo(&$bar) {
  2. unset($bar);
  3. $bar = 'blah';
  4. }
  5. $bar = 'something';
  6. echo "$bar\n";
  7. foo($bar);
  8. echo "$bar\n";
  9. ?>
复制代码

以上例程会输出:

  1. something
  2. something
复制代码

如果在函数中unset()一个静态变量,那么在函数内部此静态变量之前将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。

  1. function foo() {
  2. static $bar;
  3. $bar++;
  4. echo "Before unset:$bar, ";
  5. unset($bar);
  6. $bar = 23;
  7. echo "after unset:$bar\n";
  8. }
  9. foo();
  10. foo();
  11. foo();
  12. ?>
复制代码

以上例程会输出:

  1. Before unset: 1, after unset: 23
  2. Before unset: 2, after unset: 23
  3. Before unset: 3, after unset: 23
复制代码

empty()
empty()-检查一个变量是否为空
语法:
bool empty (mixed $var)
说明:
如果$var是非空或非零的值,则empty()返回false。比如""、0、"0"、null、false、array()、var $var,以及没有任何属性的对象都将被视为空。

php