虽然说这些都是非常简单的一些条件判断函数,但是把它们混在一起,在工作中往往就会很容易出现混淆!所以我决定把它们用程序过一遍!防止后面又忘记或者又把一些条件混掉了!
<?php $arr = array(); $arr2 = array('a'=>''); $arr3 = array('a'=>null); $d = false; $e = 0; $f = ''; var_dump(isset($arr2['a'])); var_dump(isset($d)); var_dump(isset($e)); var_dump(isset($f)); var_dump(isset($arr));//全部为ture echo '<br>'; //========================================================== $a; $b=null; $i = '0.0'; $h = '00'; $j = ''; $aa = ' '; var_dump(empty($a)); echo '<br>'; var_dump(empty($b)); echo '<br>+++++++++++++'; var_dump(empty($j)); echo '<br>++++++++++++++++<br>'; var_dump(empty($c));//这4个都是true echo '<br>'; echo 'mark'; var_dump(isset($aa));//true echo '测试空格字符串empty'; var_dump(empty($aa));//false echo '<br>123============================='; var_dump(empty($i)); echo '<br>'; var_dump(empty($h)); echo '<br>22222222222222222222222';//这两个为字符串,为false //========================================= echo '<br>'; var_dump(isset($a)); echo '<br>'; var_dump(isset($b)); echo '<br>'; var_dump(isset($c));//这3个都是false 未定义的或者定义为null,定义了为赋值的都为false! //========================================================= $x = ' '; $y = ''; $z = '0'; $zz = '00'; var_dump($x);//string ,单独做条件不是false var_dump($y);//string,单独做条件为false var_dump($z);//string,单独做条件为false var_dump($zz);//string ,单独做条件不是false if($x){ echo '123'; }//会输出 if($y){ echo '123'; }//不会输出 echo '++++++++++++++++++++++++++++++++++++++<br>'; if($z){ echo '123'; }//不会输出 if($zz){ echo '123'; }//会输出 echo '<br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++================================'; //多空个字符串的判断 $bb = ' '; var_dump(trim($bb)); if(trim($bb)==''){ echo '123<br>'; }//会输出 $cc = array(); $dd = array('a'=>''); $ee = array('a'=>null); if($cc){ echo 'bbbbb123'; }//不会输出 if($dd){ echo 'bbbbb456<br>'; }//会输出,只要有键存在作条件就是true if($ee){ echo 'bbbbb789'; }//会输出,只要有键存在作条件就是true var_dump($cc);//array(0){} 拿空数组作条件时,为false. echo '<br>'; var_dump(empty($cc));//true 空数组的empty为true var_dump(isset($cc));//true 空数组的isset为true,只有null为false