in_array?

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

  • in_array?

    Hallo!
    Ich möchte mittels in_array prüfen, ob werte im übergebenen Array erlaubt sind.
    $test sind die daten, welche zu prüfen sind.
    $erlaubt sind die daten, welche das Array beinhalten darf.
    Die beiden Arrays werden einer Klasse übergeben.
    PHP-Code:
    $test= array('test','andi','alex');
    $erlaubt = array('test','andi','alex','alles');
    $asdf $s->w($test,$erlaubt); 
    In der Klasse befinde sich folgender Code zum prüfen:
    PHP-Code:
            echo var_dump($value_trimed);
            echo 
    "<br><br>";
            echo 
    var_dump($allowed_trimed);
            if(
    in_array($value_trimed,$allowed_trimed))
            {
                echo 
    "in positiv";
                return 
    $value_trimed;
            }
            else 
            {
                echo 
    "in negativ";
                return 
    null;
            } 
    Die var_dump ausgaben sehen so aus:
    array(3) { [0]=> string(4) "test" [1]=> string(4) "andi" [2]=> string(4) "alex" }

    array(4) { [0]=> string(4) "test" [1]=> string(4) "andi" [2]=> string(4) "alex" [3]=> string(5) "alles" } in negativNULL

    Das is_array() müsste mir doch "true" zurückgeben, da alle $test Werte in dem $erlaubt Array vorhanden sind.

  • #2
    teste mal herum, es könnte ein bug sein:
    http://de.php.net/manual/en/function.in-array.php#69712

    Kommentar


    • #3
      die funktion in_array macht nicht das was du dir vorgestellt hast.
      z.bs das
      PHP-Code:
      $test= array('test','andi','alex');
      $erlaubt = array(array('test','andi','alex'),'alles');
      if(
      in_array($test,$erlaubt,true))echo "OK"
      würde functionieren.
      sonst macht in_array nicht mit.

      alternative
      PHP-Code:
      if(!count(array_diff($test,$erlaubt)))
      echo 
      "alle elemente von \$test sind in \$erlaubt vorhanden"
      Slava
      bituniverse.com

      Kommentar

      Lädt...
      X