使用文本框/下拉框的php开关语句

使用文本框/下拉框的php开关语句,php,switch-statement,Php,Switch Statement,我试图使用一个switch语句,这样当在文本框中键入特定的单词时,它将显示该车的可用型号 比如说 如果用户输入“Volkswagen”,则应呼应“可用车型为甲壳虫和Polo” 但是由于某种原因,它不起作用。有人能告诉我为什么吗 这是我目前掌握的代码 <form action="switch.php" method="post"> <input type="text" name="cars" id="cars" /> <input type="

我试图使用一个switch语句,这样当在文本框中键入特定的单词时,它将显示该车的可用型号

比如说

如果用户输入“Volkswagen”,则应呼应“可用车型为甲壳虫和Polo”

但是由于某种原因,它不起作用。有人能告诉我为什么吗

这是我目前掌握的代码

<form action="switch.php" method="post">

    <input type="text" name="cars" id="cars" />
       <input type="submit" /> 
<?php
$i = $_POST;
?>

<?php
switch ($i) {
    case "Volkswagen":
        echo "The available models are Beetle and Polo";
        break;
    case "Renault":
        echo "The Available models are Megane and Clio";
        break;
    case "Land Rover":
        echo "The Available models are Range Rover Sport and Defender";
        break;
}
?>
</form> 

编辑:

我现在有点卡住了,我正在尝试使用这个开关语句和一个下拉框,不太确定如何让它们一起工作,如果有人能帮助我让它们一起工作,那就太好了

这是我的工作开关和工作下拉框的代码

<form action="">
<select name="cars">
<option value="Volkswagen">Volkswagen</option>
<option value="Renault">Renault</option>
<option value="Land Rover">Land Rover</option>
</select>


<p>
<?php
switch($_POST['cars']) {
    case "Volkswagen":
        echo "The available models are Beetle and Polo";
        break;
    case "Renault":
        echo "The Available models are Megane and Clio";
        break; 
    case "Land Rover":
        echo "The Available models are Range Rover Sport and Defender";
        break;
}
?>
</p>
</form>
</center>

大众
雷诺
路虎


$\u POST
是一个数组。它不是可以与字符串进行比较的东西。PHP将数组转换为文字单词
array
。因为你没有这个词的案例,所以你根本找不到匹配词

表单值作为$\u POST数组的元素提交。你应该做什么

switch($_POST['cars']) {
   ...
}

相反

这个问题似乎离题了,因为有人提出了这个问题。是的,我现在就提出一个问题,很抱歉在你忙碌的光顾日里给你带来了这么多麻烦。我不知道我不允许犯一个简单的错误,比如忘了添加那个部分,我希望我没有给你带来太多麻烦:)好吧,不知道你在找什么,也许,你想读一下
$\u POST
的工作原理?marc b解释了我需要知道的事情,现在它已经起作用了,所以我在等待,直到我能够接受答案,为什么这不是一个更新?