【发布时间】:2022-11-23 04:39:23
【问题描述】:
我试图让 PHP 接受来自表单中一系列复选框的信息,但是当我尝试验证/使用所述数据来操作其他数据时,它不存在。
<p><input type="checkbox" name="toppings[]" value="xchese"/>Extra Cheese</p>
<p><input type="checkbox" name="toppings[]" value="xmeat"/>Extra Meat</p>
<p><input type="checkbox" name="toppings[]" value="veg"/>Vegetarian</p>
if (isset($_POST["toppings"]))
{
$toppings = $_POST["toppings"];
for ($i = 0; $i < count($_POST["toppings"]); $i++)
{
printf("<p>Topping %s</p>", $_POST["toppings"][$i]);
if ($toppings[$i] == "xchese")
{
$sando_total += 1.50;
printf("<p>Extra Cheese</p>");
}
else if ($toppings[$i] == "xmeat")
{
$sando_total += 2.00;
printf("<p>Extra Meat</p>");
}
else if ($toppings[$i] == "veg")
{
$sando_total += 2.00;
printf("<p>Vegetarian</p>");
}
}
}
for 循环中发生的主要问题。它检测正在检查的数量,但不检测值是什么。
【问题讨论】:
-
养成使用
foreach循环遍历数组的习惯,它使代码更易于阅读和编写。 -
我不明白这个问题。为什么它不检测值是什么?这就是它在
if语句中测试的内容。 -
告诉我们你从
var_dump($toppings);得到了什么