Thomas Luethi: Script: $a = $bedingung ? $x : $y statt IF/ELSE

Beitrag lesen

Hallo nochmal,

Da ging doch glatt ein Semikolon ";" vergessen:

$year2 = (!$year) ? $actualdate['year'] : sprintf("%04d", $year);
Bedeutet das gleiche wie:

IF (!$year)
  $year2 =  $actualdate['year'];

/* hier: ^ */

ELSE
  $year2 = sprintf("%04d", $year);

Das ganze nochmals abstrakt:

$a = $bedingung ? $x : $y

entspricht

IF ($bedingung)
   $a = $x;
ELSE
   $a = $y;

Die kurze Schreibweise macht den Code zwar kompakter,
aber - wie Dein Beispiel zeigt - fuer "Fremde" und Anfaenger
etwas schwieriger zu verstehen.

mfg
Thomas
  der erst jetzt auf die Idee kam, das nichtssagende Subject zu aendern.