我的问题有点复杂。 (我使用PHP)
我有两个数组,(简单数组array [0] = string,array [1] = string ...) 好的,现在我将在网页中显示两个数组的内容。 第一个数组包含名称,第二个图像包含URL。
图片和名称已经显示(我的问题不在这里)。
但是现在我想做其他事情,在每个图像附近添加一个复选框,默认情况下这些复选框是活动的。好的,现在用户可以取消选中一些收件箱;
最终目标是获得一个新数组,其中只包含已检查过的名称和图像的值。
我想到了一些简单的东西,抓取未选中复选框的键(数字)并从我的数组中取消它们。但问题是我不知道如何处理复选框
答案 0 :(得分:5)
要在PHP中以数组形式接收输入,您必须使用HTML中的括号设置其名称:
<label><input type="checkbox" name="thename[]" value="" /> The text</label>
然后,当你访问$ _REQUEST ['thename']时,你会得到一个数组。检查它以查看其格式并使用它:)
答案 1 :(得分:2)
首先,我建议只有一个阵列:
$array = array (0 => array('name' => '....', 'url' => '....'))
我认为这会让你的生活更轻松。 同样在HTML中你也可以发送数组键
foreach ($yourArray as $key=>$value) {
...
<INPUT type="checkbox" name="chkArr[<?php echo $key ?>]" value="1" checked/>
然后在您的表单操作中,您可以删除初始数组并删除未选中的数组。
foreach ($yourArray as $key=>$value) {
if (!isset($_POST['chkArr'][$key]) OR $_POST['chkArr'][$key]!='1') {
unset($yourArray[$key]);
}
}
答案 2 :(得分:0)
<INPUT type="checkbox" name="chkArr[]" value="$num" checked/>
提交表单后,您将拥有数组$ _REQUEST ['chkArr'],其中您将拥有仍然选中的复选框的数字。
要查看未选中的内容,请使用array_diff($listOfAllNums, $chkArr)