语法错误,意外'<',期待文件结束

时间:2017-06-16 14:06:45

标签: php

我正在用PHP编写,当我尝试运行它时,它给了我一个错误: syntax error, unexpected '<', expecting end of file 这是我的代码

<!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>

这是什么问题?我尝试删除所有的开关和案例,它仍然给了我同样的错误。

1 个答案:

答案 0 :(得分:3)

使用嵌套的switch语句非常简单。只有将嵌套开关放在括号中时才有效。

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;
   }
}

否则您会出现语法错误。