PHP - Stringvergleich
-
Hi!
In einem Formular habe ich ein Feld, in dem man Operatoren, wie =, != , < , > , empty , no empty... auswählen kann.
nun sollte der Benutzer irgendein Feld aus der DB auswählen, einen Operator wählen können, dann in einem Textfeld einen beliebigen String eingeben und schauen, ob das in der Benutzer in einem ganz anderen Formular diesen Wert eingegeben hat oder nicht.Wichtig dabei zu wissen ist, dass dieser Vergleich keine DB-Abfrage ist. Das kann ich nämlich.
Nun soll ich so etwas ähnliches realisieren:
in einer Variable erstmal das ausgewählte Feld aus der DB reinschreiben, z.B.:
$var = "city";
Dann in GLOBAL[var] benutzen, um den (String-)Vergleich auszuführen.
z.B. wenn der Benutzer den Operator "=" ausgewählt hat und im Textfeld "Frankfurt" geschrieben hat, soll folgendes geschehen:
GLOBAL[var] = "Frankfurt"Nun weiß ich aber gar nicht, wie ich das in PHP realisieren kann.
Wäre für jede Hilfe dankbar!
-
so vielleicht?
function vergleiche($p_operator, $p_var, $p_text) { ... if($p_operator == "=") { return($p_var == $p_text); } ... }
-
Danke erstmal für die schnelle Antwort.
Aber wie komme ich dann an dem Ergebnis dran? Kann ich's in einer Variable speichern?
Brauche nur zu wissen, ob der Vergleich einen Ergebnis hatte oder nicht!
-
$equals_comparison = ($p_operator == "=")
-
Das verstehe ich nicht
meine frage ist, wie ich bei dem funktionsaufruf feststellen kann, ob die abfrage einen ergebnis hatte oder nicht?!
-
$operator = '='; $var = 'Test'; $text = 'test'; if(vergleiche($operator, $var, $text)) { echo 'Positives Ergebnis. :)'; } else { echo 'Negatives Ergebnis! :('; }
-
Noch einmal ein dickes Dankeschön!
Die Funktion mit "return" zu lösen, war schon sehr hilfreich... viel besser als mit echo!
Nur weiß ich ganz und gar nicht, wie ich dann diesen Returnwert weiterverwenden kann.z.B. wenn irgendein Vergleich ein Ergebnis geliefert hat - unabhängig wie das Ergebniss aussieht - einen Eintrag in die DB machen!
Ich hoffe, Ihr versteht was ich meine. Auch wenn solches sehr simpel ist, ich habe ewig lange nicht mehr programmiert und muss von null wieder anfangen
-
Ich verstehe jetzt nicht so ganz, worauf du hinaus willst
Du machst z.B. einfach dort, wo jetzt echo 'Positives Ergebnis. :)'; steht stattdessen dein DB-Eintrag und lässt ggf. (falls nichts gebraucht) den else-Zweig weg