Проверка Если массив равен 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
}