Syntax Frage
Frank Hoppe
- php
0 Ilja0 Z.N.S.0 Joachim0 lulu0 Thomas Luethi
Hallo,
ich habe eine Frage zur Syntax, ich habe schon ein paar Erfahrungen mit PHP gesammelt aber nun finde ich eine Syntax mit der ich nichts Anfangen kann die steht auch in meinem PHP Buch nicht.
$start = (isset($start)) ? abs((int)$start) : 0;
Für was steht das Fragezeichen (?) und wieso steht dort der Doppelpunkt(:)
Gruß aus Paderborn
yo,
programmierer sind von hause aus faul. das ist im prinzip eine verkürzte form der if/else schreibweise.
auf die schnelle bin ich mir nicht sicher, aber das ? leitet wohl die beiden auswahlen ein und das : wiederum trennt die beiden möglichkeiten voneinander.
Ilja
abend,
$start = (isset($start)) ? abs((int)$start) : 0;
bedeutet:
if( isset($start) )
$start = abs((int)$start)
else
$start = 0
mfg,
(tanz das)
Z.N.S.
Hi,
$start = (isset($start)) ? abs((int)$start) : 0;
$start = (existiert_$start)? bedingung_trifft_zu_anweisung : bedingung_trifft_nicht_zu_anweisung;
Gruesse Joachim
Huhu Frank
Für was steht das Fragezeichen (?) und wieso steht dort der Doppelpunkt(:)
Das nennt sich ternärer Operator, such mal bei einschlägigen Suchmaschinen danach.
Das Schema ist dabei wie folgt
$v = (boolscher Ausdruck) ? (Ergebnis wenn Ausdruck wahr(true) ist) :(Ergebnis wenn Ausdruck unwahr(false) ist);
Es kann die Sache deutlich übersichtlicher machen, wenn man das Statement auf mehrere Zeilen verteilt, also z.B.
$start = isset($start)
? abs((int)$start)
: 0;
Viele Grüße
lulu
Hallo,
$start = (isset($start)) ? abs((int)$start) : 0;
http://www.php.net/manual/de/language.operators.comparison.php
"der '?:'- oder Trinitäts-Operator"
"the '?:' (or ternary) operator"
http://www.php.net/manual/de/language.expressions.php
"dreifach konditionalen Operator"
"the ternary conditional operator"
Gruesse,
Thomas