[英]How to get the values from php array not matching in mysql database query
我有一个 php 数组列表。
1
2
3
4
5
我想获取不满足 mysql 查询的元素列表。 (即其中 mysql 没有与所需的 db 列匹配的数组值)。 db 列:db_value 假设有以下内容。
1
3
5
8
这里$output
给出匹配的查询输出。
1
3
5
我需要那个补充。
2
4
这是我的代码:
<?php
foreach ($array as $value)
{
$query = "SELECT * FROM db WHERE db_value="$value";";
$result = $conn->query($query);
while($row = $result->fetch_array())
{
$output=$row[db_value];
}
}
?>
第一种方法
$listArray = [1, 2, 3, 4, 5]; // our list which is to be match from db
$myArray = implode(",", $listArray); // array to string
$query = "SELECT * FROM db WHERE db_value NOT IN ($myArray)";
现在$query
将返回您想要的输出
方法二
$query = "SELECT * FROM db"; // get all from database
$db_value = array_column($query['db_values']); // suppose $query have database output
现在使用array_diff()函数获取两个数组之间的不同
$result = array_diff($db_value, $listArray); // gives you desired output
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.