Der folgende Beitrag wurde am 19. 08. 2002, 12:34 Uhr von Alain veröffentlicht.
hallo,
Ich habe bezüglich einem cgi folgende frage,
was bedeutet eigentlich dieser code?
($count_last > $abusecount && length($username) > 3)
versteh diesen satz nicht?
würde das
($count_last > $abusecount )
nicht genügen?
gruss Alain
...guten appetit
Der folgende Beitrag wurde am 19. 08. 2002, 12:39 Uhr von Bjoern veröffentlicht.
hallo,
> Ich habe bezüglich einem cgi folgende frage,
> was bedeutet eigentlich dieser code?
> ($count_last > $abusecount && length($username) > 3)
es werden 2 überprüfungen gemacht
1) $count_last > abusecount
2) länge vom $username > 3
'&&' heisst, beides muss wahr sein.
grüssle
bjoern
Der folgende Beitrag wurde am 19. 08. 2002, 12:40 Uhr von MM veröffentlicht.
Hallo.
Nein das würde nicht genügen.
In dieser Bediengung müssen nämlich 2 Bedingungen erfüllt sein.
1.) $count_last > $abusecount
$count_last muss größer sein als $abusecount
UND
2.) length($username) > 3
Die Länge von $username muss größer als 3 sein.
Erst wenn diese beiden Bedingungen erfüllt sind, wird das ausgeführt, was danach kommt ...
LG,
MM
Der folgende Beitrag wurde am 19. 08. 2002, 16:38 Uhr von Michael Schröpl veröffentlicht.
Hi,
> ($count_last > $abusecount && length($username) > 3)
wie sind eigentlich die Operator-Prioritäten in dieser Sprache definiert?
Den angegebenen Ausdruck würde ich schon aus Lesbarkeitsgründen heftiger
klammern wollen - wer weiß, ob nicht das "&&" am Ende die höchste Priorität
hat ...
> würde das
> ($count_last > $abusecount )
> nicht genügen?
Um was zu erreichen? Aufgabenstellung, bitte.
Viele Grüße
Michael
Der folgende Beitrag wurde am 19. 08. 2002, 16:55 Uhr von Alain veröffentlicht.
> Hi,
hallo,
Danke erstmal an Dich und die anderen für die antwort,
> > ($count_last > $abusecount && length($username) > 3)
> wie sind eigentlich die Operator-Prioritäten in dieser Sprache definiert?
Operator-Prioritäten?
meinst du das?
$abusecount = 6;
$date = `date`;
$date_today = join( " ", (split(" ",$date)) [1,2] );
($ip_last,$count_last,$date_last) = split(/\*/,$logins{$username});
if ($date_last ne $date_today)
{
$count_last=0;
}
$logins{$username} = ("ip_now*$count_last*$date_today");
dbmclose(logins);
flock(logins,8) if ($doflocks);
> Den angegebenen Ausdruck würde ich schon aus Lesbarkeitsgründen heftiger
> klammern wollen - wer weiß, ob nicht das "&&" am Ende die höchste Priorität
> hat ...
wie einklammern?
was sollte sonst dort stehen?
> > würde das
> > ($count_last > $abusecount )
> > nicht genügen?
> Um was zu erreichen? Aufgabenstellung, bitte.
gruss vom Alain
> Viele Grüße
> Michaelnteressier1
Der folgende Beitrag wurde am 19. 08. 2002, 17:49 Uhr von Sönke Tesch veröffentlicht.
> > > ($count_last > $abusecount && length($username) > 3)
> > wie sind eigentlich die Operator-Prioritäten in dieser Sprache definiert?
> Operator-Prioritäten?
Aus der Grundschule auch bekannt als Punkt vor Strichrechung.
4 + 3 * 2
ist dementsprechend 10 (3*2=6; +4=10) und nicht 14 (4+3=7; *2=14), weil das Mal vor dem Plus gerechnet wird.
Bei Deiner obigen Befehlszeile wäre die Frage genauso zu stellen, welcher der zwei/drei Operatoren soll zuerst ausgewertet werden? Die beiden Größer-als außen oder das Und in der Mitte. Auch hier ist das ein himmelweiter Unterschied.
> > Den angegebenen Ausdruck würde ich schon aus Lesbarkeitsgründen heftiger
> > klammern wollen - wer weiß, ob nicht das "&&" am Ende die höchste Priorität
> > hat ...
> wie einklammern?
(4+3)*2 ist etwas anderes als 4+(3*2). Mit Klammern ändert man die Prioritäten bei der Auswertung.
> > > würde das
> > > ($count_last > $abusecount )
> > > nicht genügen?
Wenn Dich nicht interessiert, ob der Nutzername länger als drei Zeichen ist, ja.
Gruß,
soenk.e
Der folgende Beitrag wurde am 19. 08. 2002, 21:21 Uhr von Alain veröffentlicht.
> > > > ($count_last > $abusecount && length($username) > 3)
hallo soenk.e,
> Aus der Grundschule auch bekannt als Punkt vor Strichrechung.
> 4 + 3 * 2
> ist dementsprechend 10 (3*2=6; +4=10) und nicht 14 (4+3=7; *2=14),
weil das Mal vor dem Plus gerechnet wird.
ok verstanden,aber wie sieht das im obigen beispiel aus
in formel betrachtet? ---> ein beispiel?
> Bei Deiner obigen Befehlszeile wäre die Frage genauso zu stellen,
welcher der zwei/drei Operatoren soll zuerst ausgewertet werden?
Die beiden Größer-als außen oder das Und in der Mitte.
grösser als aussen?
entschuldige,aber ich versteh das nicht ganz .
Auch hier ist das ein himmelweiter Unterschied.
> (4+3)*2 ist etwas anderes als 4+(3*2).
Mit Klammern ändert man die Prioritäten bei der Auswertung.
> Wenn Dich nicht interessiert,
ob der Nutzername länger als drei Zeichen ist, ja.
Gruss Alain
> Gruß,
> soenk.eount )
‘
Der folgende Beitrag wurde am 19. 08. 2002, 21:38 Uhr von Christoph Schnauß veröffentlicht.
hi Alain,
> aber wie sieht das im obigen beispiel aus
> in formel betrachtet? ---> ein beispiel?
möglich wäre so etwas:
(($count_last > $abusecount) && (length($username) > 3))
um es ganz deutlich zu machen
> grösser als aussen?
> entschuldige,aber ich versteh das nicht ganz .
"größer als" bezieht sich auf den Operator ">", das ist das "größer-als-Zeichen". Und es steht "außen" in deinem Beispiel. Wenn man sich über die Prioritäten nicht ganz klar ist, also nicht genau weiß, ob erst "&&" oder erst ">" befolgt wird, sollte man eben Klammern setzen
Grüße aus Berlin
Christoph S.
Der folgende Beitrag wurde am 20. 08. 2002, 09:03 Uhr von Sönke Tesch veröffentlicht.
> > aber wie sieht das im obigen beispiel aus
> > in formel betrachtet? ---> ein beispiel?
> möglich wäre so etwas:
> (($count_last > $abusecount) && (length($username) > 3))
> um es ganz deutlich zu machen
Womit wir dann wieder bei Michaels Antwortfrage sind: Diese Reihenfolge ist abhängig von der verwendeten Sprache, die Du allerdings nicht angegeben hattest.
Für PHP ist das zum Beispiel unter http://www.php.net/manual/de/language.operators.php#language.operators.precedence beschrieben, für Perl unter http://selfhtml.teamone.de/cgiperl/sprache/operatoren.htm#rangfolge (was ist eigentlich http://aktuell.de.selfhtml.org/archiv/doku/6.1/tecf.htm#a8 für eine Leiche?), Javascript http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#rangfolge.
Gruß,
soenk.e
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4