@@Bademeister:
nuqneH
switch (true) {
case $flag & VIERTES_FLAG:
echo "Viertes";
break;
case $flag & DRITTES_FLAG:
echo "Drittes";
break;
case $flag & ZWEITES_FLAG:
echo "Zweites";
break;
case $flag & ERSTES_FLAG:
echo "Erstes";
break;
}
>
> Ich persönlich finde letztere Variante am besten, weil am kürzesten und daher (sofern vernünftig kommentiert) am übersichtlichsten und lesefreundlichsten.
Was genau wäre daran übersichtlicher und lesefreundlicher als an
~~~php
if ($flag & VIERTES_FLAG)
echo "Viertes";
else if ($flag & DRITTES_FLAG)
echo "Drittes";
else if ($flag & ZWEITES_FLAG)
echo "Zweites";
else if ($flag & ERSTES_FLAG)
echo "Erstes";
Und kürzer ist switch schon wegen der breaks nicht.
Es ist eine ganz normale Anwendung dessen, wofür die switch-Struktur da ist: Ausdrücke vergleichen.
Wenn man irgendwas gegen true vergleicht, sollte man sich immer fragen, ob das wirklich sinnvoll ist.
Qapla'
--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)