Ankündigung

Einklappen
Keine Ankündigung bisher.

Boolean Array abfragen bzw. vergleichen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Boolean Array abfragen bzw. vergleichen

    Hallo Zusammen,

    ich habe ein Array mit boolschen Werten und möchte eine Anweisung ausführen wenn alle Werte ausnahmslos FALSE sind.
    Wenn nur ein oder mehrere Werte TRUE sind soll eine andere Anweisung ausgeführt werden.
    Leider bekomme ich das nicht wie gewünscht ans laufen..
    PHP-Code:
    $Array1 = array($A$B$C$D);
    foreach(
    $Array1 as $F) {
        if (
    $F == 0)    {
        
    mache irgendwas;
        }

    elseif (
    $F == 1)    {
        
    mache irgendwas anderes;
        }

    Wäre super wenn mir hier wer helfen könnte!

    Danke!


  • #2
    PHP-Code:
    if (array_filter($booleanArray)) {
        echo 
    'nicht alle sind false';
    } else {
        echo 
    'alle sind false';

    Du solltest übrigens keine kryptischen Variablennamen wie $Array1, $F, usw. verwenden. Auch nicht bei einem kleinen Beispiel.

    Kommentar


    • #3
      Okay, gut zu wissen!
      Danke fürs Helfen, funktioniert!!

      Kommentar


      • #4
        Alternativ hätte man auch noch:

        PHP-Code:
        $array = array(FALSE,FALSE,FALSE,TRUE);
        echo 
        in_array(TRUE,$array); 
        verwenden können.

        Kommentar


        • #5
          Zitat von TessaKavanagh Beitrag anzeigen
          Alternativ hätte man auch noch:

          PHP-Code:
          $array = array(FALSE,FALSE,FALSE,TRUE);
          echo 
          in_array(TRUE,$array); 
          verwenden können.
          Rein Interessehalber. Wie würde eine Überprüfung auf false aussehen, sprich es muss jeder Wert false sein?
          PHP-Code:
          in_array(false$array); 
          würde ja nicht funktionieren da neben false gleichzeitg true vorkommen kann.
          Natürlich sind auch bei der Überprüfung auf true mitunter false Werte dabei aber das ist für meine Anforderung nicht relevant.

          Kommentar


          • #6
            Wenn alle Werte false sein sollen ist das gleichbedeutend mit in dem Array steht kein true drin. (Zumindestens solange wir uns wie im Thementitel in einem Array aus boolschen Werten bewegen)
            Du kannst also einfach das Ergebnis von #4 nehmen und negieren.

            Kommentar

            Lädt...
            X