Abkürzung für OR
kasimo93
- php
Hi,
gibt es hierfür einen kürzeren Weg?
bin grade dabei PHP zu lernen und brauche dies für meine Funktion.
if($_GET['classid'] == 1 OR $_GET['classid'] == 2 OR $_GET['classid'] == 3)
Guten Tag,
Hi,
gibt es hierfür einen kürzeren Weg?
bin grade dabei PHP zu lernen und brauche dies für meine Funktion.if($_GET['classid'] == 1 OR $_GET['classid'] == 2 OR $_GET['classid'] == 3)
Die Werte rechts des (typunsicheren) Gleichheitsoperators ergeben zusammen eine Menge an Werten. Du willst nun überprüfen, ob der Wert von $_GET['classid' in dieser Menge enthalten ist. Mengen werden in PHP üblicherweise in Arrays abgelegt. Prüfen, ob ein Wert in einem Array enthalten ist, kannst du mit der Funktion in_array() prüfen.
Gruß
Christoph Jeschke
Guten Tag,
gibt es hierfür einen kürzeren Weg?
bin grade dabei PHP zu lernen und brauche dies für meine Funktion.
es reicht im Übrigen auch, wenn du deine Frage ein mal stellst.
Gruß
Christoph Jeschke
Guten Tag,
es reicht im Übrigen auch, wenn du deine Frage ein mal stellst.Gruß
Christoph Jeschke
Darüber weiß ich natürlich bescheid. Hatte beim ersten Betirag das Gefühl, dass etwas nicht funktioniert hat.
Danke
@@kasimo93:
nuqneH
gibt es hierfür einen kürzeren Weg?
switch mit fall thru, i.e. ohne break:
switch($_GET['classid'])
{
case 1:
case 2:
case 3: echo "1, 2 oder 3";
}
Qapla'
@@kasimo93:
nuqneH
»» gibt es hierfür einen kürzeren Weg?
switch mit fall thru, i.e. ohne break:
switch($_GET['classid'])
{
case 1:
case 2:
case 3: echo "1, 2 oder 3";
}
>
> Qapla'
Hallo.
die Idee mit der switch-anweisung ist natürlich generell gut, danke dafür.
Ich hatte eigentlich gehofft, dass es so etwas wie dies hier gibt:
if(1 <= $\_GET['classid'] <= 7)
Hallo.
die Idee mit der switch-anweisung ist natürlich generell gut, danke dafür.
Ich hatte eigentlich gehofft, dass es so etwas wie dies hier gibt:if(1 <= $_GET['classid'] <= 7)
Ich habe jetzt folgenden Code in Verwendung:
if(isset($_GET['classid']) AND $_GET['classid'] <= 7 AND $_GET['classid'] >= 1)
....und der geht auch. Leider funktioniert der vorher von mir genannte Coe nicht >_<
Hi,
if(1 <= $_GET['classid'] <= 7)
Ich habe jetzt folgenden Code in Verwendung:
if(isset($_GET['classid']) AND $_GET['classid'] <= 7 AND $_GET['classid'] >= 1)....und der geht auch. Leider funktioniert der vorher von mir genannte Coe nicht >_<
Das liegt daran, dass die Syntax der Sprache PHP definierten Umfang hat, und nicht deiner Phantasie unterliegt.
MfG ChrisB
Hi,
Das liegt daran, dass die Syntax der Sprache PHP definierten Umfang hat, und nicht deiner Phantasie unterliegt.MfG ChrisB
ich phantasiere gerne.
Danke für den Hinweis, dass meine Phantasie nicht der Norm entspricht.
Ich werde den Code nehmen, den ich bisher habe.
Hi Kasimo,
Ich hatte eigentlich gehofft, dass es so etwas wie dies hier gibt:
if(1 <= $_GET['classid'] <= 7)
Vergleichsoperatoren in PHP vergleichen genau zwei Ausdruecke und geben true oder false zurueck.
Dass obiges nicht funktioniert, liegt daran, dass der Operator "<=" keine Assoziativitaet hat.
Und das aus gutem Grund - anderenfalls wuerde, etwa bei Linksassoziativitaet, der rechte Operator den vom linken zurueckgegebenen Wert true/false mit 7 vergleichen. true wuerde zu 1 und false zu 0 gecastet, und Deine Bedingung waere in jedem Falle erfuellt, da 1 und 0 kleiner als 7 sind. Ein Ausdruck wie
(0 <= 10 <= 3)
wuerde (mit jeder Assoziativitaet - rechts oder links) true ergeben - und das waere wohl kaum das, was Du Dir erhoffst.
Die Interpretation der Zeile im Sinne der mathematischen Kurzschreibweise ist hoechst informal, da sind es zwei unabhaengige Vergleiche, sie waeren etwa der Klammerung (a <= [ b ) <= c] gemaess. Das widerspricht konzeptionell jeder mir bekannten Programmiersprache.
viele Gruesse,
der Bademeister
Hallo,
(0 <= 10 <= 3)
Die Interpretation der Zeile im Sinne der mathematischen Kurzschreibweise ist hoechst informal, da sind es zwei unabhaengige Vergleiche, sie waeren etwa der Klammerung (a <= [ b ) <= c] gemaess. Das widerspricht konzeptionell jeder mir bekannten Programmiersprache.
es gibt in SQL den BETWEEN-AND-Operator, ein Beispiel:
SELECT
foo
FROM
bar
WHERE
baz BETWEEN 0 AND 3
Freundliche Grüße
Vinzenz
Hi Vinzenz,
es gibt in SQL den BETWEEN-AND-Operator
stimmt (auch wenn SQL nun keine Programmiersprache ist). Aber das ist _ein_ ternaerer Operator. Das Problem eines Ausdrucks (a <= b <= c) ist ja, dass er zwei Operatoren hat, man aber ein einziges Ergebnis moechte. Daher muss PHP sie entweder verschachtelt ausfuehren, was aber eben nicht das liefern wuerde, was man moechte, oder raten, dass die beiden Ausgaben der Operatoren mit "and" verknuepft werden sollen. PHP ist vielen ja schon zu "intelligent" in Bezug auf Variablen und Typecasting - es sollte jetzt nicht auch noch mit Hellsehen anfangen ;-)
Solche Operatoren wie BETWEEN...AND und IN wuerden aber PHP auch gut tun, wie ich finde - in diesem Thema hat SQL PHP was voraus.
Viele Gruesse,
der Bademeister