该代码检查$value
(数组)是否在数据库中设置为1
。 foreach循环将所有创建的匹配保存到数组中。现在我有数据库中的所有字段值为1
,但这并不是我想要的,因为如果字段'狗'等于1
并且字段'猫'等于NULL
,我仍然具有'狗'的值我的阵列。只有当BOTH等于1时才能进入阵列。对数组使用&&/AND运算符
对于简单变量,您可以使用&&
或AND
运算符来检查所有键是否具有相同的值,但是如何对数组执行此操作?
$products = array();
foreach($_POST['selected_checkboxes'] as $value) {
var_dump($value);
if($result = $db->query("SELECT * FROM produkte WHERE `$value` = 1")){
while($row = $result->fetch_object()) {
if (!in_array($row->name, $products)) {
array_push($products, array('name'=>$row->name, 'image'=>$row->image, 'link'=>$row->link));
}
}
}
else {
array_push($products, 'error');
}
}
不太清楚。你想在这里实现什么 –
为什么不只是扩展你的sql语句。这将更快,并节省您一些PHP代码 – Philipp
@Philipp我会怎么做在这种情况下? –