Maison >développement back-end >tutoriel php >php获取变量的状态

php获取变量的状态

WBOY
WBOYoriginal
2016-07-25 08:44:11879parcourir

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


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn