Ankündigung

Einklappen
Keine Ankündigung bisher.

Array[1] == TRUE && Array[alleanderen]== FALSE

Einklappen

Neue Werbung 2019

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

  • Array[1] == TRUE && Array[alleanderen]== FALSE

    ich hab nicht den blassesten, wonach ich suchen soll bei der frage...

    gibt es eine moeglichkeit, um z.B. fuer eine if abfrage, ein Element als true und den rest als False abzufragen, ohne x-mal && zu nutzen oder eine schleife zu verwenden, die das array durchgeht?
    Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ?

    "Er hat Angefangen!"

  • #2
    Es geht zB auch per array_reduce
    PHP-Code:
    <?php
    $arr 
    = array( truefalsefalsefalsefalse );
    $w array_reduce($arrcreate_function('$a,$b''return $a!=$b;'), false);
    echo (
    $w && $arr[0]) ? '+' '-';
    ?>
    Ob das jetzt einfacher oder intuitiver ist, sei dahingestellt.

    edit: Codekorrektur.

    Kommentar


    • #3
      Hi.

      Also, wenn du sicher bist, dass das Array nur boolsche Werte enthält, dann kannst du prüfen, ob array_sum() 1 ergibt. Andernfalls kannst du z.B. so rangehen:

      PHP-Code:
      <?php
      function validate_array($a)
      {
          
      $bContainsTrue false;
          foreach (
      $a as $mValue) {
              switch (
      $mValue) {

                  case 
      true:
                  if (
      $bContainsTrue) return false;
                  
      $bContainsTrue true;
                  break;

                  case 
      false:
                  break;

                  default:
                  return 
      false;
              }
          }
          return 
      $bContainsTrue;
      }
      ?>
      Ich wüsste nich, dass es sowas, wie array_count_value() für boolsche Werte gibt.

      @'Bruchpilot':
      Das haut nicht hin. Mit dem ersten Code hängst du z.B. bei einem array(true, false, true, true) und bei dem jetzigen muss dazu noch das erste Array-Element auch true sein - und die Typen bleiben unberücksichtigt (weshalb array_sum() einfacher wäre). Aber vielleicht gibts in die Richtng ja noch ne Lösung

      Basti

      Kommentar


      • #4
        ich habs...
        das ganze ist ein Fehlerarray und das beginnt leer und wird mit den entsprechenden fehlern immer groeßer. Der wert der überprüft True sein darf ist das login, welches bei einem neuen Account natürlich noch nicht vorhanden sein darf, aber wenn ich updaten will, darf es das...
        also habe ich die if abfrage mit
        PHP-Code:
        <?php
                    
        if (!isset($userfailure) || sizeof($userfailure)==&& $userfailure['existinglogin'] == 1)
        {
           
        //Code
        }
        ?>
        gemacht... aber danke fuer die vorschlaege. das array_sum waere an der Stelle des sizeof wohl auch geeignet.

        mfG
        ifrit
        Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ?

        "Er hat Angefangen!"

        Kommentar

        Lädt...
        X