Stefanie Brundmann: LIKE-ähnlicher - Befehl bei IF-Abfrage in PHP

Hallo,

bei Abfragen z.B. einer SQL-Datenbank kann man ja bekanntlich mit WHERE $variable1 LIKE '%hallo%' alle Einträge filtern, die in $variable1 das Wort hallo an einer beliebigen Stelle enthalten.

Bei einer IF-Abfrage funktioniert das aber nicht:

If ($variable1 LIKE '%hallo%')
{
...
}

ERROR!!!

Was ist die Lösung?

Versteht ihr, was ich meine?

  1. bei Abfragen z.B. einer SQL-Datenbank kann man ja bekanntlich mit WHERE $variable1 LIKE '%hallo%' alle Einträge filtern, die in $variable1 das Wort hallo an einer beliebigen Stelle enthalten.

    Bei einer IF-Abfrage funktioniert das aber nicht:

    »»

    If ($variable1 LIKE '%hallo%')

    Das ist kaum verwunderlich, nur weil etwas in SQL funktioniert, muß es ja nicht gleich in PHP funktionieren.

    Was ist die Lösung?

    Ein Blick in die PHP-Anleitung, ist allerdings zugegebenermaßen auch etwas versteckt: die beiden Kapitel zu den regulären Ausdrücken bieten eine Reihe Vergleichsfunktionen, die ebenso mächtig sind, wie REGEX in SQL: http://www.php.net/manual/de/ref.pcre.php und http://www.php.net/manual/de/ref.regex.php.

    Gruß,
      soenk.e

    PS: Dein gesuchtes Muster lautet "/hallo/".

  2. Hallo Stefanie

    bei Abfragen z.B. einer SQL-Datenbank kann man ja bekanntlich mit WHERE $variable1 LIKE '%hallo%' alle Einträge filtern, die in $variable1 das Wort hallo an einer beliebigen Stelle enthalten.
    Bei einer IF-Abfrage funktioniert das aber nicht:
    If ($variable1 LIKE '%hallo%')

    Was Du suchst, sind Reguläre Ausdrücke:
    http://www.php.net/manual/de/ref.regex.php

    Gruss,

    Vinzenz

  3. Hallo!

    bei Abfragen z.B. einer SQL-Datenbank kann man ja bekanntlich mit WHERE $variable1 LIKE '%hallo%' alle Einträge filtern, die in $variable1 das Wort hallo an einer beliebigen Stelle enthalten.

    Bei einer IF-Abfrage funktioniert das aber nicht:

    natürlich nicht.

    If ($variable1 LIKE '%hallo%')
    {
    ...
    }

    ERROR!!!

    Was ist die Lösung?

    Du mußt mit den PHP-Stringfunktionen arbeiten, z.B. mit strpos(), also etwa so:

    IF (strpos($variable1,"hallo") { ...

    Versteht ihr, was ich meine?

    ja.

    Lade Dir am besten mal ein PHP-Handbuch aus dem Netz runter. Das beitet eine gut strukturierte Funktionsübersicht. Oder guck bei SelfPHP nach.

    Tschau,
    apstrakt

  4. ich glaub LIKE geht bei if nicht

    LÖSUNGSVORSCHLAG

    if (preg_match("/*hallo*/",$variable1)) {
    ...
    } else {
    ...
    }