使用用户输入切换语句

时间:2018-09-19 01:47:11

标签: php switch-statement

请注意,我是编码新手。

我试图做出一个switch语句,该语句将为用户提供他们输入到其正确罗马数字中的数字(仅1-10之间的数字)。

<form action="#" method="post">
Type a number from 1-10. <input type="text" name="num"/>
<input type="submit" name="submit">
</form>


<?php

switch (isset($_POST['submit'])) {
    //$num = (int)$_POST["num"];
    case 1:
        echo "I";
        break;
    case 2:
        echo "II";
        break;
    case 3:
        echo "III";
        break;
    case 4:
        echo "IV";
        break;
    case 5:
        echo "V";
        break;
    case 6:
        echo "VI";
        break;
    case 7:
        echo "VII";
        break;
    case 8:
        echo "VIII";
        break;
    case 9:
        echo "IX";
        break;
    case 10:
        echo "X";
        break;
}


?>

当前,这就是我所拥有的,但是我不知道一种使switch语句使用用户提供的号码的方法。有帮助吗?

谢谢。

4 个答案:

答案 0 :(得分:0)

您可以使用以下解决方案来解决您的问题:

import Task from './Task.jsx';

答案 1 :(得分:0)

首先,请确保您有东西 通知,我正在使用$ _POST [' num ']

git symbolic-ref

现在您检查

$num = $_POST['num'] ?? 0;

我会做一些不同的事情,即使那不是最有效的转换。

switch($num){
   case 1:
     echo 'I';
     break;
   case 2:
     echo 'II';
     break;

... 
...

答案 2 :(得分:0)

isset($_POST['submit'])返回一个布尔值,该布尔值不是switch语句期望的1-10范围内的整数。您可能打算使用$_POST['num']

数组是封装逻辑的更紧凑的方法,而不是冗长且可能容易出错的switch语句。每个数组索引映射到一个数字,如下所示:

<form action="#" method="post">
Type a number from 1-10. <input type="text" name="num">
<input type="submit" name="submit">
</form>

<?php

$numerals = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X'];

if (isset($_POST['num'])) {
    echo isset($numerals[$_POST['num']]) ? $numerals[$_POST['num']] : "error";
}

?>

答案 3 :(得分:0)

用户将在其中输入数字的input具有name的{​​{1}}属性,因此,要获取用户输入的内容,您将使用{{1} }。

'num'