gpt4 book ai didi

php - 如何比较不同的数组?

转载 作者:搜寻专家 更新时间:2023-10-31 21:27:13 25 4
gpt4 key购买 nike

我需要显示未在我的新数据库中注册的用户的电子邮件地址、名字和姓氏。

我选择了旧数据库的三列和新数据库的三列。我创建了两个数组,每个数组都接收查询结果。

但是当比较的是显示所有用户时,没有进行比较。

检查我的代码:

while($array = $resultado->fetch_array(MYSQLI_NUM)){
$portal_old[] = $array;
}
while($array2 = $resultado2->fetch_array(MYSQLI_NUM)){
$portal_new[] = $array2;
}
foreach ($portal_old as $portal) {
if(!in_array($portal, $portal_new)){
$result[] = $portal;
}


}

最佳答案

假设电子邮件地址应该能够唯一标识注册用户,您可以在从每个数据库构建结果数组时使用电子邮件地址作为键。

while($array = $resultado->fetch_array(MYSQLI_ASSOC)){
$portal_old[$array['email']] = $array;
}
while($array2 = $resultado2->fetch_array(MYSQLI_ASSOC)){
$portal_new[$array2['email']] = $array2;
}

为了使其工作,您需要在获取时使用 MYSQLI_ASSOC 而不是 MYSQLI_NUM,并在构建数组时指定电子邮件列的名称,或者,如果您使用的是 MYSQLI_NUM,请指定电子邮件列的数字索引。

然后你可以使用array_diff_key轻松找到您要查找的结果。

$result = array_diff_key($portal_old, $portal_new);

关于php - 如何比较不同的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com