'Check If array is null or not in php
I have an array like below which is generated by parsing a xml url.
The array is
Array
(
[Tags] => SimpleXMLElement Object
(
[0] =>
)
)
The array name is $result
. Now I want to check that if the array received like above I want to print a message of failure. But how to check this array in if condition?
Solution 1:[1]
you can use
empty($result)
to check if the main array is empty or not.
But since you have a SimpleXMLElement object, you need to query the object if it is empty or not. See http://www.php.net/manual/en/simplexmlelement.count.php
ex:
if (empty($result)) {
return false;
}
if ( !($result['Tags'] instanceof SimpleXMLElement)) {
return false;
}
return ($result['Tags']->count());
Solution 2:[2]
This checks if the variable is not set or contains a falsey value (zero, empty string, empty array, etc)
if (!empty($result) {
// do stuff if the variable is not empty
} else {
// do stuff if the variable is empty
}
This checks if the the variable is null
if (is_null($result) {
// do stuff if the variable is null
} else {
// do stuff if the variable is not null
}
Solution 3:[3]
Corrected;
/*
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;
}
}
Solution 4:[4]
Right code of two ppl before ^_^
/* 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;
}
Solution 5:[5]
I understand what you want. You want to check every data of the array if all of it is empty or at least 1 is not empty
Empty array
Array ( [Tags] => SimpleXMLElement Object ( [0] => ) )
Not an Empty array
Array ( [Tags] => SimpleXMLElement Object ( [0] =>,[1] => "s" ) )
I hope I am right. You can use this function to check every data of an array if at least 1 of them has a value.
/*
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
}
Hope that helps.
Solution 6:[6]
if array is look like this [null] or [null, null] or [null, null, null, ...]
you can use implode:
implode is use for convert array to string.
if(implode(null,$arr)==null){
//$arr is empty
}else{
//$arr has some value rather than null
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Your Common Sense |
Solution 2 | Your Common Sense |
Solution 3 | Webbu |
Solution 4 | Yuriy Gergilenko |
Solution 5 | |
Solution 6 | shajji |