我正在用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>
这是什么问题?我尝试删除所有的开关和案例,它仍然给了我同样的错误。
答案 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;
}
}
否则您会出现语法错误。