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!