2017-06-16 7 views
-1

ich in PHP zu schreiben und wenn ich es zu laufen versuchte, es gab mir eine Fehlermeldung: syntax error, unexpected '<', expecting end of file Dies ist mein CodeSyntaxfehler, unerwartete ‚<‘, erwartet das Ende der Datei

<!DOCTYPE html> 
<html> 
    <body> 
    <?php 
$outputNumber=0; 
$inputNumber = (float)$_POST['inputNumber']; 
$inputFormat = $_POST['inputFormat']; 
$outputFormat = $_POST['outputFormat']; 

    switch($inputFormat){ 
    case "meter": 

     switch ($outputFormat){ 
     case "pico": $outputNumber = $inputNumber*1000000000000;break; 
     case "nano": $outputNumber = $inputNumber*1000000000;break; 
     case "micro": $outputNumber = $inputNumber*1000000;break; 
     case "mm": $outputNumber = $inputNumber*1000;break; 
     case "cm": $outputNumber = $inputNumber*100;break; 
     case "deci": $outputNumber = $inputNumber*10;break;   
     case "meter": $outputNumber = $inputNumber;break; 
     case "deca": $outputNumber = $inputNumber*0.1;break; 
     case "hm": $outputNumber = $inputNumber*0.01;break; 
     case "km": $outputNumber = $inputNumber*0.001;break; 
     } 
    break; 
    } 
echo $outputNumber; 

    ?> 
    </body> 
    </html> 

Was ist das Problem hier? Ich habe versucht, alle Schalter und Gehäuse zu entfernen und es gab mir immer noch den gleichen Fehler.

+3

Sind 'php' Dateien in dieser Datei enthalten? – Bhavin

+0

was meinst du? – Cryt

+0

Deshalb sollten Sie richtig einrücken. Die Dinge werden offensichtlicher werden. – Martijn

Antwort

3

Sehr einfach arbeiten Sie mit verschachtelten Switch-Anweisungen. Das funktioniert nur, wenn Sie den geschachtelten Schalter in Klammern setzen.

switch($inputFormat){ 
    case "meter": { 
       ^^^^ 
    switch ($outputFormat){ 
    case "pico": $outputNumber = $inputNumber*1000000000000;break; 
    case "nano": $outputNumber = $inputNumber*1000000000;break; 
    case "micro": $outputNumber = $inputNumber*1000000;break; 
    case "mm": $outputNumber = $inputNumber*1000;break; 
    case "cm": $outputNumber = $inputNumber*100;break; 
    case "deci": $outputNumber = $inputNumber*10;break;   
    case "meter": $outputNumber = $inputNumber;break; 
    case "deca": $outputNumber = $inputNumber*0.1;break; 
    case "hm": $outputNumber = $inputNumber*0.01;break; 
    case "km": $outputNumber = $inputNumber*0.001;break; 
    } 
    break; 
    } 
} 

Sonst haben Sie einen Syntaxfehler.

+0

Gibt mir immer noch den gleichen Fehler. – Cryt

+0

Eigentlich, wenn Sie ** genau ** kopieren, was gezeigt wird, und es in eine leere PHP-Datei einfügen, funktioniert es gut (ich habe '$ _POST' durch' $ _REQUEST' ersetzt, also könnte ich einfach die Variablen in die URL fallen lassen - aber das war es). Verwenden von PHP 5.6.8 auf Apache 2.4. Ich vermute, da ist noch etwas los. – CD001

Verwandte Themen