Ist das ein Bug!?

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

  • #16
    entsprechend geben ... rein gar nichts aus.
    was auch völlig korrekt ist (false).
    von daher k.a. was mir das jetzt sagen soll.
    dass php dein "@" implizit in die 0 konvertiert, um es mit einem integer zu vergleichen. und 0 ist in range (0,9) enthalten.

    Kommentar


    • #17
      Original geschrieben von PHPler
      Im übrigen gibt
      echo ( "string!!!" == 0 ? 'type casting' : 'wie erwartet' );
      das selbe aus wie
      echo ( 0 == 0 ? 'type casting' : 'wie erwartet' );
      bzw.
      echo ( "string!!!" == "string!!!" ? 'type casting' : 'wie erwartet' );
      von daher k.a. was mir das jetzt sagen soll.
      Das soll dir vielleicht sagen, dass du dich zum Thema automatisches Casting mal informieren könntest.

      Wenn beim Vergleich zwischen "string" und 0 wahr herauskommt, dann könnte man ja annehmen, dass da zu der Tatsache, dass auch "@" beim Vergleich mit 0 als "gefunden" angesehen wird, ein Zusammenhang besteht ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        Original geschrieben von penizillin
        dass php dein "@" implizit in die 0 konvertiert, um es mit einem integer zu vergleichen. und 0 ist in range (0,9) enthalten.
        AUA!!! Na da muß man erstmal drauf kommen. Dachte immer dass ein Element eines Arrays ein Element ist und der Typ dessen dabei egal ist. Aber da ich ja nun der Funktion unterschiedliche Typen übergebe, werde ich wohl auf die array_intersect Methode zurückgreifen...

        Danke Dir auf jedenfall für deine Hilfe!

        Kommentar


        • #19
          Aber da ich ja nun der Funktion unterschiedliche Typen übergebe, werde ich wohl auf die array_intersect Methode zurückgreifen...
          das verstehe ich nicht. machs doch so, wie anfangs geplant, nur eben mit strikter überprüfung.

          Kommentar


          • #20
            Naja, ich hab jetzt statt:

            if(in_array("@", self::$str))

            if(count(array_intersect(array("@"), self::$str)) < 1)

            Erfüllt seinen Dienst!

            Kommentar


            • #21
              warum? was ist daran besser, als in_array() zu verwenden?

              Kommentar


              • #22
                Dass in_array nicht wie gewünscht funktioniert.

                Das ding ist ja noch, hier habe ich ja nur einzelne Zeichen zum Überprüfen übergeben. Im Script sind das ganze Strings, die Zeichen für Zeichen überprüft werden. Da kommt in_array wieder nicht weiter mit, während die array_intersect Methode da wunderbar funktioniert.

                Kommentar


                • #23
                  natürlich kommt in_array() mit, du solltest bloß die muster-arrays anders anlegen, damit auch _strings_ dabei sind und keine zahlen.

                  übrigens, ist das wieder so n super-validierungs-overkill?

                  Kommentar


                  • #24
                    Das mit dem array_intersect hat mich nun auf folgendes gebracht, damit läuft nun alles perfekt!

                    PHP-Code:
                    $split str_split($val1);
                    if(
                    count(array_intersect($splitself::$isstr)) != count($split)) {
                        echo 
                    'Fehler';

                    Kommentar


                    • #25
                      PHP-Code:
                      $split str_split($val1);
                      if(
                      count(array_intersect($splitself::$isstr)) != count($split)) {
                          echo 
                      'Fehler';

                      Ist doch wohl absoluter Overkill!! Mach es mit dem dritten Parameter, wie bereits von den anderen erwähnt!

                      Kommentar


                      • #26
                        Habs nun auf is_array umgestellt. Etwas fummelig, läuft aber. Thx Euch nochmal...

                        Kommentar


                        • #27
                          Hi,

                          um die ausgangsfrage mal zu beantworten. Ja das ist ein bug.
                          Aber das ist nur meine bescheidene meinung. Die php-entwickler
                          nennen das ein feature.

                          greets
                          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                          Kommentar

                          Lädt...
                          X