Проверка Если массив равен null или нет в php

У меня есть массив вроде ниже, который генерируется путем разбора URL-адреса xml.

Массив

Array
  (
 [Tags] => SimpleXMLElement Object
    (
        [0] => 

    )
  )

Имя массива - $result. Теперь я хочу проверить, что если массив, полученный как выше, я хочу напечатать сообщение об ошибке. Но как проверить этот массив в условии if?

Ответ 1

вы можете использовать

empty($result) 

чтобы проверить, пуст ли основной массив или нет.

Но поскольку у вас есть объект SimpleXMLElement, вам нужно запросить объект, если он пуст или нет. См. Http://www.php.net/manual/en/simplexmlelement.count.php.

например:

if (empty($result) || !isset($result['Tags'])) {
    return false;
}
if ( !($result['Tags'] instanceof SimpleXMLElement)) {
    return false;
}
return ($result['Tags']->count());

Ответ 2

Исправленный;

/*
 return true if the array is not empty
 return false if it is empty
*/
function is_array_empty($arr){
  if(is_array($arr)){     
      foreach($arr as $key => $value){
          if(!empty($value) || $value != NULL || $value != ""){
              return true;
              break;//stop the process we have seen that at least 1 of the array has value so its not empty
          }
      }
      return false;
  }
}

Ответ 3

Правильный код двух ppl перед ^ _ ^

/* return true if values of array are empty
*/
function is_array_empty($arr){
   if(is_array($arr)){
      foreach($arr as $value){
         if(!empty($value)){
            return false;
         }
      }
   }
   return true;
}

Ответ 4

Я понимаю, чего вы хотите. Вы хотите проверить все данные массива, если все это пусто или по крайней мере 1 не пустое

Пустой массив

Массив ([Теги] => Объект SimpleXMLElement ([0] =>))

Не пустой массив

Массив ([Теги] => Объект SimpleXMLElement ([0] =>, [1] => "s"))


Надеюсь, я прав. Вы можете использовать эту функцию для проверки всех данных массива, если хотя бы одно из них имеет значение.

/*
 return true if the array is not empty
 return false if it is empty
*/
function is_array_empty($arr){
  if(is_array($arr)){     
      foreach($arr $key => $value){
          if(!empty($value) || $value != NULL || $value != ""){
              return true;
              break;//stop the process we have seen that at least 1 of the array has value so its not empty
          }
      }
      return false;
  }
}

if(is_array_empty($result['Tags'])){
    //array is not empty
}else{
    //array is empty
}

Надеюсь, это поможет.

Ответ 5

this check if array is empty 

    if (!empty($result) {
       // do stuf if array is not empty
    }else{

      // do stuf if array is empty
    }

this check array is null or not


 if (is_null($result) {
       // do stuf if array is null
    }else{

      // do stuf if array is not null
}

Ответ 6

если массив выглядит так: [null] или [null, null] или [null, null, null,...]

вы можете использовать implode:

implode - это использование для преобразования массива в строку.

if(implode(null,$arr)==null){
     //$arr is empty
}else{
     //$arr has some value rather than null
}