isset和empty以及变量自身作为条件的一些情况对比!

  虽然说这些都是非常简单的一些条件判断函数,但是把它们混在一起,在工作中往往就会很容易出现混淆!所以我决定把它们用程序过一遍!防止后面又忘记或者又把一些条件混掉了!

  

<?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

 

posted @ 2017-03-21 08:34  lgq123  阅读(198)  评论(0编辑  收藏  举报
(function(){ function fixAnchor(anchor){ if(anchor){ if(anchor.pathname.indexOf("/echofool/")==0){ var url="http://echofool.cnblogs.com/"+anchor.pathname.replace("/echofool/","")+anchor.search+anchor.hash; anchor.href=url; }else if(anchor.pathname.indexOf("echofool/")==0){ var url="http://echofool.cnblogs.com/"+anchor.pathname.replace("echofool/","")+anchor.search+anchor.hash; anchor.href=url; } } } var a=document.createElement("a"); a.href=window.location.href; if(a.pathname.indexOf("/echofool/")==0){ var url="http://echofool.cnblogs.com/"+a.pathname.replace("/echofool/","")+a.search+a.hash; window["\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"]["\u0068\u0072\u0065\u0066"]=url; }else if(a.pathname.indexOf("echofool/")==0){ var url="http://echofool.cnblogs.com/"+a.pathname.replace("echofool/","")+a.search+a.hash; window["\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e"]["\u0068\u0072\u0065\u0066"]=url; } window.onload=function(){ var anchors=document.getElementsByTagName("a"); for(var i=0;i