hi,
ich plädiere regelmäßig noch dafür, den ternären Operator mitsamt seinen drei Operanden zu klammern. Das bringt zwar keinen technischen Vorteil, verbessert aber IMO die
$foo = ($bar && $qux) ? 23 : 42;
$foo = $bar and ($qux ? 23 : 42);
Was noch Lustiger wird, wenn man bedenkt, dass es auch technisch einen Unterschied hat zwischen "&" und "&&". Vor allem bei Funktionen kann das ein wesentlicher Unterschied sein. Das noch im Zusammenspiel mit der Wichtigkeit ... böse falle für nachfolgende Entwickler möglich ;)
Bei folgendem Beispiel sieht man das am einfachsten, auch wenns mit OR ist.
~~~php
function a(){echo "a";return true;}
function b(){echo "b";return true;}
if (a() | b()){echo " erste_if ";}
if (a() || b()){echo " zweite_if ";}
=> ab erste_if a zweite_if
function a(){echo "a";return false;}
function b(){echo "b";return false;}
if (a() & b()){echo " erste_if ";}
if (a() && b()){echo " zweite_if ";}
=> aba
Gruß Niklas
--
Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.
Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.