我一直在使用 array_slice 但它不起作用。完全没有。
所以我有 36 个复选框..我首先这样做。
$checks = $_POST['ck'];
然后我这样做。
$newAr = array_slice($checks, 0, 8);
echo implode(',', $newAr);
重点是,我希望 $newAr 只显示在数组中的框 0 - 8 中选中的框。
下一个是这样的。
$newAr2 = array_slice($checks, 9, 20);
echo implode(',', $newAr2);
因为这个会显示框 9 - 20 中选中的框,依此类推...
这是为盒子制作 HTML 的方式...
<input type="checkbox" value="Demo" name="ck[]" id="ck1">
当我这样做时...当我回显 $newAr 或 $newAr2.. 它只显示每个复选框 1 - 36 的值
最佳答案
为了完成这项工作,您需要对 HTML 进行一些修改:
<input type="hidden" name="ck[0]" value="">
<input type="checkbox" value="Demo0" name="ck[0]" id="ck1">
<input type="hidden" name="ck[1]" value="">
<input type="checkbox" value="Demo1" name="ck[1]" id="ck1">
<input type="hidden" name="ck[2]" value="">
<input type="checkbox" value="Demo2" name="ck[2]" id="ck1">
<!-- repeat until name="ck[35]" -->
解释:
<input type="hidden" name="ck[0]" value="">
将确保 $_POST['ck'][0]
始终设置并且是一个空字符串。
<input type="checkbox" value="Demo0" name="ck[0]" id="ck1">
确保如果复选框被选中,则 $_POST['ck'][0]
将是“Demo0”
关于php - 如何拆分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36898535/