Frage zu Switch Ausgabe

SantaCruze

Erfahrenes Mitglied
Hallo :)

Und zwar habe ich folgende Frage, ich habe eine Switch abfrage die folgend aussieht :

PHP:
        switch($id)
        {
        case 1: // Gebäude 1
        $row1 =  ($comlevel+1)*2.1;
        break;
        case 2: // Gebäude 2
        $row1 =  ($comlevel+1)*2.1;
        break;
        return $row1;

Nun habe ich folgendes Problem. Gebäude 1 also case 1 soll einen Wert ausgeben der im Script mit einem % Zeichen angezeigt werden soll. Wenn er allerdings Gebäude 2 ausgibt soll er eine Mengenanzahl, z.b. angezeigt mit + oder - Zeichen anzeigen. Nun die Frage, wie baue ich in die Switch abfrage den Echo Befehl ein, das er mir beim jeweiligen case noch nen kleinen Echo bei der Ausgabe hinzufügt? Achja , die Switch Abfrage selbst ist in einer Funktion.
 
Hallo,
wie wäre's hiermit? ;)
PHP:
<?php
    switch($id) {
        case 1: // Gebäude 1
            $row1 =  ($comlevel+1)*2.1;
            echo 'Text1';
            break;
        case 2: // Gebäude 2
            $row1 =  ($comlevel+1)*2.1;
            echo 'Text2';
            break;
    }
    return $row1;
?>

mfg
forsterm
 
Naja die Sache ist die, die Funktion gibt ja als Return $row an, aber wird das echo im Case dann mit berücksichtigt? Weil als Rückgabewert ja nur die Variable definiert ist.
 
So ?
PHP:
   <?php
    switch($id) {
        case 1: // Gebäude 1
            $row1 =  ($comlevel+1)*2.1;
            return $row1.'+-'; 
            break;
        case 2: // Gebäude 2
            $row1 =  ($comlevel+1)*2.1;
            return $row1.'%';
            break;
    }
?>
Ich glaub da kann man sogar die brakes weglassen ?
Versuch ma :)
 
Wenn du die break 's weblässt, wird alles ausgeführt.

Erläuterung:
PHP:
   <?php
    switch($id) {
        case 1: // Gebäude 1
            $row1 =  ($comlevel+1)*2.1;
            return $row1.'+-'; 

        case 2: // Gebäude 2
            $row1 =  ($comlevel+1)*2.1;
            return $row1.'%';
    }
?>
Nehmen wir an, $id ist gleich 1. Nun wird der Switch durchlaufen. Allerdings wird dann spwphl die Anweisungen bei case 1: und case 2: durchlaufen, weil das break; zum Abbruch fehlt! je nachdem kann es nützlich sein, die Breaks wegzulassen, kommt auf die Situation an.


Gruß Radhad
 
Zurück