我想禁用输入复选框。
$value1->name has the values(product1, product2, product3, product4, product5)
$value2->name has the values(product3, product4)
@foreach ($products_table1 as $value1)
@foreach($products_table2 as $value2)
@if($value1->name != $value2->name)
disabled
@endif
@endforeach
@endforeach
我想输出结果:
<input type="checkbox" disabled> Product 1
<input type="checkbox" disabled> Product 2
<input type="checkbox" > Product 3
<input type="checkbox" > Product 4
<input type="checkbox" disabled> Product 5
但不是这样,我得到了:
<input type="checkbox" disabled disabled > Product 1
<input type="checkbox" disabled disabled > Product 2
<input type="checkbox" disabled > Product 3
<input type="checkbox" disabled > Product 4
<input type="checkbox" disabled disabled > Product 5
如何防止双重输出?有替代选择吗? 我正在尝试使用复选框创建产品过滤器。
答案 0 :(得分:0)
你可以先创建一个array-diff;创建value1中不在value2中的产品列表,然后仅循环此新数组:
http://php.net/manual/en/function.array-diff.php
避免显式分配此差异数组的另一个选项是使用布尔运算符&#39; in-array&#39;:
http://php.net/manual/en/function.in-array.php
这些中的任何一个都应该比原始效率更高,因为正如您注意到的那样,您实际上在嵌套的foreach中两次比较每组两个项目