Stringbeginn abfragen und vergleichen

  • Hallo,

    ich möchte den Beginn eines Strings abfragen und vergleichen.
    Dazu benutze ich folgendes Skript:
    http://www.rither.de/a/informatik/p…-beginnt-endet/

    PHP
    function startsWith($check, $startStr) {        if (!is_string($check) || !is_string($startStr) || strlen($check)<strlen($startStr)) {            return false;        }         return (substr($check, 0, strlen($startStr)) === $startStr);    }

    Nun möchte ich aber abfragen, ob der String wirklich mit startStr beginnt. also

    PHP
    if (var_dump(startsWith('abc', 'a'))!=false)
        echo "jawoll";

    Aber leider funktioniert es nicht, wo ist der Fehler?

    Vielen Dank!

  • Bandit sagts: Wenn strpos auf den gesuchten string 0 ist, fängt er damit an. Aber achtung:

    PHP
    if (0 == false)  echo  "ja"; else echo  "nein";
    if (0 === false) echo " ja"; else echo " nein";


    hat die ausgabe

    Code
    ja nein

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Aber um dein eigentliches Problem mal zu erwähnen, das liegt hier:

    PHP
    if (var_dump(startsWith('abc', 'a'))!=false)


    Das ist das gleiche wie

    PHP
    if ( !=false)


    var_dump liefert kein true/false oder sonstwas, sondern ist eine "void-Funktion", deshalb geht dein Vergleich in die Hose