Unterschied zwischen Switsh- und If-Befehl ??

Cracker

Grünschnabel
Also ich kann nicht den genauen Unterschied zwischen dem Switch und dem IF-Befehl. Wenn ich das mache
Code:
<html>
<head>
        <title>Listing 5.4: Die switch-Anweisung</title>
</head>
<body>
<?php
$stimmung = "traurig";
switch($stimmung)
{
case "froh":
print "Super, ich bin gut drauf!";
break;
case "traurig":
print "Ach, mach dir nichts draus.";
break;
default:
print "Ich bin weder froh noch traurig sondern $stimmung.";
}
?>
</body>
</html>

oder

Code:
<html>
<head>
        <title>Listing 5.3: Die If-, else- und elseif-Anweisung</title>
</head>
<body>
<?php
$stimmung = "traurig";
if($stimmung == "froh") {
        print "Super, ich bin gut drauf!";
} elseif($stimmung == "traurig") {
        print "Ach, mach dir nichts draus.";
} else {
        print "Ich bin weder froh noch traurig sondern $stimmung.";
}
?>
</body>
</html>
das. Ist doch vom Inhalt kein Unterschied oder ?

Cracker
 
Nein, ist kein Unterschied.

Lediglich für den Programmierer ist eine switch Struktur wohl wesentlich einfacher zu lesen, da sie nicht verschachtelt sind.
 
Du hast mit dem Switch einfach weniger Schreibarbeit, und Programmierer sind ja bekanntlich faul!

Greetz,
Storm
 
Die Vorgaenger haben recht damit das es uebersichtlicher ist.

Da PHP dem C Code sehr aehnlich ist wurde auch switch mit uebernommen.
In C / C++ ist switch doch bedeuted powervoller denn mann kann
bewusst(meist aber als fehler unbewusst) "durchfallen" lassen (durch auslassen der break-anweisung).
Das nur am rande bemerkt.

Schau dir mal deine beiden beispiele an und frage dich welche verzweigbedingungen schneller erkennbar sind bie if oder switch :)
 
Hoi!

Kann man bei PHP auch. Außerdem kann man (soweit ich weiß) zB mittels continue einen weiteren durchlauf der switch Bedingungsprüfung erzwingen usw.
Switch kombiniert eine erhöhte Übersichtlichkeit mit einer erweiteren Funktioaltität, also auf jeden Fall auf switch zurückgreife, wenn du die Wahl hast.

Gruesse

..ooOOipOOoo..
 

Neue Beiträge

Zurück