Xml urlを解析して生成される以下のような配列があります。
配列は
Array
(
[Tags] => SimpleXMLElement Object
(
[0] =>
)
)
配列名は$result
。ここで、上記のように配列が受信された場合、失敗のメッセージを出力することを確認します。しかし、if条件でこの配列をチェックする方法は?
使用できます
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());
修正済み;
/*
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;
}
}
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
}
^ _ ^の前の2人の正しいコード
/* 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;
}
私はあなたが望むものを理解しています。すべてが空であるか、少なくとも1つが空でない場合、配列のすべてのデータをチェックする
空の配列
配列([タグ] => SimpleXMLElementオブジェクト([0] =>))
空の配列ではない
配列([タグ] => SimpleXMLElementオブジェクト([0] =>、[1] => "s"))
私が正しいことを願っています。少なくとも1つのデータに値がある場合、この関数を使用して配列のすべてのデータをチェックできます。
/*
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
}
お役に立てば幸いです。
配列が[null]または[null、null]または[null、null、null、...]のように見える場合
あなたは内破を使用することができます:
implodeは、配列を文字列に変換するために使用されます。
if(implode(null,$arr)==null){
//$arr is empty
}else{
//$arr has some value rather than null
}