我正在尝试放置一个值并稍后在
上检索它$fruits = array("Watermelon", "Lime", "Lemon");
$result = count($fruits);
$i = 0;
while ($i < $result) {
echo "<br>" . "<input type='checkbox' name='fruit[]' value='$fruits[$i]'>";
echo "$fruits[$i]";
$i++;
}
第一组我将水果分配给每个数组的值,下面的代码应该设置if语句中的值并将它们与复选框进行比较。如果我按名称放入水果,它可以起作用,例如“西瓜”有效,但“$ fruits [0]”没有。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if(isset($_POST["fruit"])){
$i = 0;
while($i < $result) {
if(in_array('$fruits[$i]', $_POST['fruit'])){
echo "It works!";
$i++;
} else {
$i++;
}
}
} else {
echo "choose a box";
$i = $result;
}
答案 0 :(得分:0)
您可以使用foreach()
轻松完成此操作(如果您愿意)。
if(isset($_POST['fruit'])) {
foreach($_POST['fruit'] as $fruit) {
$fruits[] = $fruit;
}
if(!empty($fruits)) {
echo 'It Works.!';
} else {
echo "choose a box";
}
}
答案 1 :(得分:0)
您在工作条件中使用$i++
,因此如果将$ i增加到1,直到$fruits
的最后一个索引,如果$fruits
中$_POST
最后一个索引不存在,它将会没有显示..使用exit可以显示。
if(isset($_POST["fruit"])){
$i = 0;
while($i < $result) {
if(in_array($fruits[$i],$_POST['fruit'])){
echo "It works!";
exit;
} else {
$i++;
}
}
}
也无需引用您的阵列...
if(in_array('$fruits[$i]', $_POST['fruit'])) //remove ''