Stefan Schmidt: Operator für IF in String

Hallo liebes Forum,

ich habe schon mit der Suchfunktion nach einer Antwort gefahndet aber nix gefunden, also:

Ich möchte in einer IF-Anweisung eine Bedingung mit variablem Operator prüfen. Also in etwa so:

$bedingung = ">";
if(5.$bedingung.10)
{
   echo "richtig";
}
else
{
   echo "falsch";
}

Ich suche also eine Funktion, mit der ich Variablen ähnlich verwenden kann wie Dateien bei einem Include.

Vielen, vielen Dank für eure Hilfe!

Gruß

Stefan

  1. echo $begrüßung;

    Ich möchte in einer IF-Anweisung eine Bedingung mit variablem Operator prüfen.

    Das ist ein Anwendungsfall für eval() oder eine selbst geschriebene Funktion.

    echo "$verabschiedung $name";

    1. Merci,

      das mit eval() hab ich auch grad ausprobiert. Muss ich dann die komplette IF-Anweisung in den Eval-String packen oder wie schaut das aus? Wenn ich nämlich nur den Operator "=" oder die gesamte Bedingung "5 > 10" in den String schreibe, dann bekomm ich nen Fehler.

      Gruß

      Stefan

      1. echo $begrüßung;

        das mit eval() hab ich auch grad ausprobiert. Muss ich dann die komplette IF-Anweisung in den Eval-String packen

        Ja.

        echo "$verabschiedung $name";

  2. Huhu Stefan

    Ich suche also eine Funktion, mit der ich Variablen ähnlich verwenden kann wie Dateien bei einem Include.

    Beschreibe doch mal was Du eigentlich machen willst.
    Ggf. reicht es ja wenn Du mehrere Bedingungen zusammenfasst.

    Also z.B.

    if ( ($op == '<' && $a < $b) || ($op == '>' && $a > $b)):

    // ok

    else:

    // not ok

    endif;

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hi Lulu,

      das ist zwar nicht ganz so flexibel, wie ich mir das gedacht hatte aber es funktioniert. Vielen Dank für den Tipp!!

      Gruß

      Stefan

  3. Hello,

    if(5.$bedingung.10)

    Ich suche also eine Funktion, mit der ich Variablen ähnlich verwenden kann wie Dateien bei einem Include.

    Hierfür gibt es die Funktion eval(), die einen String zur Laufzeit auswertet, als wäre er eine Anweisungszeile. Eine echte Überladung von Operatoren stellt PHP mWn nicht zur Verfügung.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau