empty能否代替isset?

   我觉得empty可以覆盖isset!

  empty:检查一个变量是否为空: ""  "0"  NULL  FALSE  array()   var   $var;var   都为TRUE

  isset: 检测变量是否设置:NULL, 即:变量未设置,返回false; 变量为NULL,返回false

  如果一个变量未设置时,empty返回什么结果呢?如下:

  var_dump(empty($undefined)); //true

 

  

  可见empty也可以起到检测变量是否设置的目的。那么该不该使用empty代替isset呢?

  如果仅仅是判断一个变量存不存在,那么该使用isset,因为isset的含义很清晰,就是干这个用的,也利于对代码的阅读。

  当既要判断变量存在,又有判断变量不为0,'',空数组等情况,可以用

  if(!empty($var))  代替   if(isset($var) && !empty($var))

 

  注意:这两个不是函数是语句,5.5之前不可以empty里面套函数,而5.5之后可以!

 

posted @ 2017-03-15 18:55  lgq123  阅读(239)  评论(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