为了账号安全,请及时绑定邮箱和手机立即绑定

PHP(un)在比较两个动态数组时选中一个复选框

PHP(un)在比较两个动态数组时选中一个复选框

PHP
万千封印 2021-05-14 16:08:55
我有2个数组,$ item和$ previousItem。$ item包含所有可能的选择$ previousItem包含已经存储在数据库中的选择。例如,我有一个包含苹果,橙子,香蕉的复选框,并且在我的数据库中记录了用户先前选择的苹果和香蕉。如何填充复选框,以便仅取消选中橙色,而选中其他两个。如果$ previousItem具有多个值,则嵌套的for循环将创建重复项。必须仅使用php完成此操作。我可以使用排序功能吗?这是代码:    for($i = 0; $i < $index; $i++)        for($j = 0; $j < $count; $j++)    {        echo '<li>                <!--these are the individual check boxes-->';        echo '<input type="checkbox" name="item[]" id="$item+$count" value="' . $item[$j] . '"'.($previousItem[$i] == $item[$j] ?'checked': '') .'>                <!--these are the values of the check boxes-->                <label for="$item+$count">' . $item[$j] . '</label>                <input type="hidden" name="item_list[]" value="' . $item[$j] . '">';    }
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

您只需要为$ item中的每个元素一个复选框。因此,仅在$ item上执行一次循环。它给出重复项,因为它为$ previousItem($ i循环)中的每个元素列出了$ item($ j循环)中的元素。

PHP上阅读:in_array函数。如果使用代替$previousItem[$i] == $item[$j],则可以消除$ previousItem循环。语法会像in_array($item[$j],$previousItem)


查看完整回答
反对 回复 2021-05-28
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号