比如$arr是一个数组.我要判断是否为空,可以用:if(!empty($arr)) {

if(count($arr) > 0) {

if($arr != '') {我经常在别人的代码中看到这些,不知道他们有什么区别,为什么这么多用法.里面有学问吧?
希望大神讲讲经验.还有就是要用foreach循环一个数组时,是不是往往要做个非空判断呢:
if(is_array($arr) && !empty($arr)) {

解决方案 »

  1.   

    is_array($arr)
    这个就好了。空array不会报错的。
      

  2.   

    foreach之前不去检查数组是很危险的 会出警告错误。 一个字符串你去foreach 一个空值你去foreach 铁定的会出问题的。至于判断的方法很多,if(!empty($arr)) {}  if(count($arr) > 0) {} 没什么大区别吧。反正验证数组不为空
      

  3.   

    用foreach循环一个数组时,最好做 is_array 判断
    至于非空判断就不必要了,空数组不会进入循环如确认 $arr 为数组则
    if(!empty($arr)) {

    if(count($arr) > 0) {
    都可以,而 if($arr != '') 不严密
      

  4.   

    is_array() + count/empty才是王道.