Überprüfen Sie, ob das Array in PHP null ist oder nicht

Lesezeit: 3 Minuten

Benutzeravatar von Manish Jangir
Manisch Jangir

Ich habe ein Array wie unten, das durch Analysieren einer XML-URL generiert wird.

Das Array ist

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

    )
  )

Der Arrayname lautet $result. Jetzt möchte ich überprüfen, ob ich, wenn das Array wie oben empfangen wird, eine Fehlermeldung drucken möchte. Aber wie überprüft man dieses Array in der if-Bedingung?

  • Hast du es versucht if(empty($result) || empty($result[‘Tags’]))??

    – SEPRO

    9. November 2011 um 16:36 Uhr


  • if(empty($result['Tags'][0])) kann sein?

    – Janoliver

    9. November 2011 um 16:36 Uhr

  • Haben Sie versucht, isset is_array is_null . . . ?

    – Mob

    9. November 2011 um 16:37 Uhr

  • Ein Array kann nicht null sein. Wenn es null ist, dann ist es kein Array: es ist null.

    – Leichtigkeitsrennen im Orbit

    9. November 2011 um 17:31 Uhr


  • Außerdem ist es an der Zeit, einige frühere Antworten zu akzeptieren. Es gibt Antworten, die Sie in Kommentaren vorgeschlagen haben, die in mindestens einigen Ihrer Fragen richtig und nützlich sind.

    – Leichtigkeitsrennen im Orbit

    9. November 2011 um 17:32 Uhr


Benutzeravatar von Martin Samson
Martin Samson

Sie können verwenden

empty($result) 

um zu prüfen, ob das Hauptarray leer ist oder nicht.

Aber da Sie ein SimpleXMLElement-Objekt haben, müssen Sie das Objekt abfragen, ob es leer ist oder nicht. Sehen 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());

Benutzeravatar von Anish Rai
Anisch Rai

Dies prüft, ob die Variable nicht gesetzt ist oder einen falschen Wert enthält (Null, leere Zeichenfolge, leeres Array usw.)

if (!empty($result) {
    // do stuff if the variable is not empty
} else {
    // do stuff if the variable is empty
}

Dies prüft, ob die Variable null ist

if (is_null($result) {
   // do stuff if the variable is null
} else {
   // do stuff if the variable is not null
}

Korrigiert;

/*
 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;
  }
}

  • die Unterbrechung hat keine Auswirkung, da die Rückgabe wahr den Prozess beendet. Ihrem Code fehlt eine return-Anweisung in cas is_array gibt false zurück.

    – Med Hajlaoui

    23. Februar 2017 um 20:17 Uhr

Richtiger Code von zwei Personen vor ^_^

/* 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;
}

Benutzeravatar von Leysam Rosario
Leysam Rosario

Ich verstehe, was du willst. Sie möchten alle Daten des Arrays überprüfen, ob alle leer sind oder mindestens 1 nicht leer ist

Leeres Array

Reihe (
[Tags] => SimpleXMLElement-Objekt (
[0] => ) )

Kein leeres Array

Reihe (
[Tags] => SimpleXMLElement-Objekt (
[0] =>,[1] => “s” ) )


Ich hoffe, ich habe recht. Mit dieser Funktion können Sie alle Daten eines Arrays prüfen, ob mindestens 1 davon einen Wert hat.

/*
 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
}

Ich hoffe, das hilft.

Benutzeravatar von shajji
Shajji

Wenn das Array so aussieht [null] oder [null, null] oder [null, null, null, …]

Sie können implodieren:

implode wird zum Konvertieren von Arrays in Strings verwendet.

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

1434100cookie-checkÜberprüfen Sie, ob das Array in PHP null ist oder nicht

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy