php isset()和php empty()的区别
在判断PHP变量时经常会遇到 isset() 函数和 empty() 的函数,而在一般的判断中,好像这两个PHP函数没什么太大的区别,首先声明一点,这两个函数都是进行判断 php 变量的,这是一个共同点,我们来看一下在判断变量中有些什么样的区别。
empty() 判断一个变量是否为空,isset() 判断一个变量是否已经设置,这是最本质的区别。
另外empty() 还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量等同于空,即相当于没有设置。而 isset() 判断的是这个变量有没有进行设置,即使变量设置的为空,但是已经定义了,此时isset返回 true。
下面是一段简段的两个函数区别的研究:
[code lang="php"]
未定义$var
 ';
      echo  "isset测试:
 " ;
   if(isset($var)){
      echo '变量$var存在!
 ';
   }
      echo "empty测试:
 ";
   if(empty ($var)){
      echo '变量$var的值为空
 ';
  }
  else{
      echo '变量$var的值不为空
 ';
  }
      echo  "变量直接测试:
 ";
   if  ($var){
      echo '变量$var存在!
';
  }
   else{
      echo '变量$var不存在!
 ';
  }
      echo ' ----------------------------------
 ' ;
      echo '$var = \'\'
 ';
      echo "isset测试:
 " ;
   $var = '' ;
   if (isset ($var)){
      echo '变量$var存在!
 '  ;
  }
      echo "empty测试:
 " ;
   if (empty ($var)){
      echo   ' 变量$var的值为空
 ' ;
  }
   else{
      echo '变量$var的值不为空
 ' ;
  }
   echo "变量直接测试:
 " ;
   if  ($var){
       echo '变量$var存在!
 ' ;
  }
   else {
       echo '变量$var不存在!
 ' ;
  }
   echo '----------------------------------
 ' ;
   echo '$var = 0
 ' ;
   echo 'isset测试:
 ' ;
   $var = 0;
   if (isset ($var )){
       echo '变量$var存在!
 '  ;
    }
   echo   "empty测试:
 " ;
   if  (empty ($var)){
       echo   '变量$var的值为空
 ' ;
  }
   else{
       echo '变量$var的值不为空
 ' ;
  }
   echo  "变量直接测试:
 " ;
   if ($var ){
       echo '变量$var存在!
 ' ;
  }
   else {
       echo '变量$var不存在!
 ' ;
  }
   echo   ' ----------------------------------
 ' ;
   echo ' $var = null
 ' ;
   echo ' isset测试:
 ' ;
   $var   =   null ;
   if ( isset ( $var )){
       echo ' 变量$var存在!
 '  ;
  }
   echo  " empty测试:
 " ;
   if  (empty ( $var )){
       echo ' 变量$var的值为空
 ';}
   else{
      echo  ' 变量$var的值不为空
 ';
  }
   echo  " 变量直接测试:
 " ;
  if($var){
      echo   ' 变量$var存在!
 ' ;
 }else{
      echo   ' 变量$var不存在!
 ' ;
 }
      echo  '----------------------------------
 ' ;
      echo  '$var = "php"
 ' ;
      echo  'isset测试:
 ' ;
  $var = "php " ;
  if  (isset($var))
 {
      echo  '变量$var存在!
 '  ;
 }
      echo  "empty测试:
 " ;
  if  (empty($var)){
      echo   ' 变量$var的值为空
 ' ;
 }
  else{
      echo ' 变量$var的值不为空
 ' ;
 }
      echo " 变量直接测试:
 " ;
  if($var){
      echo ' 变量$var存在!
 ' ;
 }
  else{
      echo '变量$var不存在!
 ';
   }
?>
[/code]