Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] strpos löscht ursprungsvariable

Einklappen

Neue Werbung 2019

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

  • [Erledigt] strpos löscht ursprungsvariable

    hallo,

    ich hab folgendes problem:

    ich möchte eigentlich überprüfen, ob ein eine bestimmte zahl in einer variable vorhanden ist. dazu habe ich die funktion strpos verwendet.

    mit einer if schleife würde ich dann abfangen, ob der rückgabewert eine zahl ist.

    PHP-Code:
    $test strpos($ausfuellen,"1");
    if (
    is_int($test)) {
    ....
    codeblock

    ich möchte herausfinden, ob eine 1 in der variable $ausfuellen vorkommt.
    Wenn ich diese prozedur wiederhole, dann ist auf einmal in der variable $ausfuellen eine 1 drin, statt der ursprüngliche string.
    Wieso haut der den immer wieder raus?

    Oder gibt es eine besser und effektivere methode eine zahl in einer variable zu suchen?

    mfg reeky

  • #2
    preg_match

    Kommentar


    • #3
      Würd auch zum Beispiel so gehen.
      PHP-Code:
      $str "hasldasjdasjd12381203ß123908";
      $exist in_array('1'str_split($str)); 
      Aber, dein Ansatz funktioniert schon, strpos löscht nichts aus deiner Variable, der Fehler liegt woanders.
      PHP-Code:
      if(strpos($str,"1")!==false) echo $str
      Aber die imho schnellsten Varianten sind

      PHP-Code:
      $a strstr($str'1');
      ODER
      $a 
      strrchr($str'1'); 
      Liefert entweder bool false oder eine Zeichkette wird in $a gespeichert.

      Kommentar


      • #4
        Zitat von reeky Beitrag anzeigen
        Wenn ich diese prozedur wiederhole, dann ist auf einmal in der variable $ausfuellen eine 1 drin, statt der ursprüngliche string.
        strpos() hat rein pruefenden Charakter, eine Aenderung findet nicht statt! Deine Aussage ist so also falsch, der Bock wird woanders geschossen.

        Kommentar


        • #5
          Moin „Zerg“. Na wenigstens ein Bock wurde aber geschossen. http://www.php.de/beitragsarchiv/468...-schleife.html

          Kommentar


          • #6
            Nur ergänzender Weise, falls dieses Beispiel Anwendung findet:
            Zitat von kn0wledge
            PHP-Code:
            if(strpos($str,"1")!==false) echo $str
            Bitte bei Funktionen, die als Rückgabewert sowohl 0, als auch false zurückgeben können, immer den === Operator verwenden!

            Kommentar


            • #7
              und was ist an !== schlechter, bzw. macht === besser?

              Kommentar


              • #8
                er hat ja nur noch mal darauf hingewiesen - ihr hattet doch in euren Codeschnipseln jeweils schon richtig mit dem === identisch "Vergleicher" gearbeitet

                Kommentar


                • #9
                  Jaha... Verdammt hast recht, hatte das ! nicht gesehen...
                  Sorry, dann ist das natürlich in dem Fall absolut richtig!

                  Kommentar


                  • #10
                    Danke leute für die vielen antworten.
                    Ich hab meinen Fehler noch entdeckt. Ich hatte noch alten code drinne und hab das wahrscheinlich dann gestern abend übersehen.
                    Ich hatte schon an mir selbst gezweifelt, weil ich in ner extra datei nur diesen part getestet hab und dort hats immer funktioniert und dann im hauptscript nicht mehr.

                    Aber jetzt klappt alles wunderbar und ich nehm auch die kurze und unkomplizierte schreibweise von kn0wledge.

                    Kommentar

                    Lädt...
                    X