dedlfix: unbekannte Syntaxabkürzungen

Beitrag lesen

Hi!

return ($a[$w_o] < $b[$w_o]) ? -1 : 1;
das ist eine eine if/else Schreibweise

Wenn du den kompletten Ausdruck betrachtest, magst du Recht haben.

if ($a[$w_o] < $b[$w_o])  
  return -1  
else  
  return 1;

oder auch

if ($a[$w_o] < $b[$w_o])  
  return -1  
return 1;

sind vom Resultat her Alternativen obigen Konstrukts. Betrachtet man jedoch ?: und if/else separat, so ist das eine ein Operator, der ein Ergebnis liefert, und das andere eine Kontrollstruktur, die den Programmablauf beeinflusst.
Man kann zwar zu jedem ?:-Gebilde eine alternatives if/else schreiben, aber nicht umgekehrt (jedenfalls nicht ohne Zuhilfenahme weiterer Syntaxelemente).

Lo!