Seite 1 von 1

[$VAR = ( BEDINGUNG ) ? $VAR_1 : $VAR_2] ???????

Verfasst: 19.04.2006 15:19
von Spezial
Moin!

In phpBB sieht man ja öfters sowas wie:

Code: Alles auswählen

$VAR = ( BEDINGUNG ) ? $VAR_1 : $VAR_2

Zitat aus dem originalen Code:
$row_class = ( !($j % 2) ) ? $theme['td_class1'] : $theme
Jetzt meine Frage:
Wie genau ist die Syntax und wie wird was gemacht? Ich nehme mal an, dass das eine if-Abfrage ersezt und in der ersten Klammer die Bedingung steht.
Heißt es jetzt z.B. wenn BEDINGUNG zutrifft ist VAR gleich VAR_1 und wenn nicht dann ist VAR gleich VAR_2?
Hab ich das so richtig verstanden?
Hat vielleicht jemand den Link zu dieser Erläuterung auf php.net?
Bei google hab ich nichts gefunden, ist ja auch schlecht ? und : da einzugeben :P

Greetz

Verfasst: 19.04.2006 15:23
von Jack9027
Heißt es jetzt z.B. wenn BEDINGUNG zutrifft ist VAR gleich VAR_1 und wenn nicht dann ist VAR gleich VAR_2?
Hab ich das so richtig verstanden?
hey, jo stimmt so, link hab ich aber leider nicht ;)

Verfasst: 19.04.2006 16:05
von Spezial
Okay, danke!
Das macht meinen Quelltext schon gleich viel übersichtlicher ^^

Verfasst: 19.04.2006 18:50
von jasc
http://de2.php.net/manual/de/control-st ... e.php#8920
http://de2.php.net/manual/de/language.expressions.php (ein bisschen runterscrollen)
Hier steht das zum Beispiel. Meines Wissens gibt es das in Java auch.

Verfasst: 20.04.2006 08:54
von cback
Ich denke am geposteten Beispiel kann mans am besten zeigen wie es arbeitet wenn man die dazu passende if-Schreibweise ebenfalls nutzt um die Ausdrücke zu vergleichen.

Code: Alles auswählen

$row_class = ( !($j % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
wäre

Code: Alles auswählen

if(!($i%2))
{
  $row_class = $theme['td_class1'];
}
else
{
  $row_class = $theme['td_class2'];
}
also hinterm Fragezeichen dann das "is True" statement und nach dem Doppelpunkt der "is false" Fall.


Und ja bei Java gibts das auch, sogar die Syntax identisch. Nur haben die Variablen ken $ Zeichen davor.