Seite 1 von 2
vergleich zweier strings
Verfasst: 27.11.2006 20:30
von deathcakeman
irgendwie geht das bei mir nicht...wie kann ich zwei werte vergleichen?
mfg
Verfasst: 27.11.2006 20:55
von gn#36
Was willst du denn vergleichen?
die Länge geht mit strlen():
Bei Zahlen sollte das so funktionieren.
re
Verfasst: 27.11.2006 20:57
von deathcakeman
nein.
$a und $b sind beides time() funktionen.
$b ist fest.
$a verändert sich.
irgendwann ist $a größer als $b.
und das will ich jetzt erfragen.
nicht die string länge, sondern den wert.
Verfasst: 27.11.2006 21:03
von gn#36
Dann passt deine Überschrift nicht zu der Frage.
Aber was soll "time() funktionen" heißen? Die Werte die von time() dort hinein geschrieben werden? Das sollten eigentlich schon Zahlen sein und somit sollte dein Vergleich funktionieren. Es ist immer hilfreich sich an einer Stelle wo ein unverständlicher Fehler auftaucht den Inhalt der Variablen mal ausgeben zu lassen. Vielleicht mal eine Funktion wie intval() oder floatval() probieren? (IMHO dürfte das aber keinen Unterschied machen wenn es sich um die Ausgabe von time() handelt)
Verfasst: 27.11.2006 21:06
von Pyramide
time() gibt aber keinen String sondern einen Integer zurück, die werden anders verglichen als Strings.
Hast du dir die beiden zu vergleichenden Werte mal mit echo ausgeben lassen? Nicht selten wundert man sich stundenlang, warum ein Algorithmus nicht funktioniert, obwohl man mit völlig falschen Eingabedaten arbeitet...
re
Verfasst: 27.11.2006 21:12
von deathcakeman
ja hab ich...is beides mit time() erstellt.
wie auch immer, ich will jetzte einfach nur wissen wie man die beiden werte, so wie im bsp beschrieben vergleicht.
Verfasst: 27.11.2006 21:15
von gn#36
Hilfreich können auch is_xxx Befehle sein mit denen man den Variablentyp prüfen kann (is_bool(), is_int() ...). Dann weiß man ob man tatsächlich das richtige vergleicht.
Verfasst: 27.11.2006 21:16
von deathcakeman
Verfasst: 27.11.2006 21:21
von gn#36
Wie schon gesagt, wenn das mit einem derartigen Befehl erstellt wurde
Dann sollte das mit dem Vergleich
korrekt funktionieren.
Wenn aber eine der Zahlen z.B. so erhalten wurde
dann muss vermutlich noch eine Typumwandlung mit intval() oder floatval() erfolgen:
Verfasst: 27.11.2006 21:23
von deathcakeman
Code: Alles auswählen
$login_check=mysql_query("SELECT * FROM logins_data WHERE user_id = '$userid'");
while ($row = mysql_fetch_object ($login_check)) {
$check=$row->time_temp_sperre;
}
$time_now=time();
$time_check=$check;
if($time_now <$time_check) {
...
geht aber irgendwie nicht..