Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 复杂数组比较_Php_Mysql - Fatal编程技术网

Php 复杂数组比较

Php 复杂数组比较,php,mysql,Php,Mysql,1-我正在构建一个比较应用程序,用于比较两个用户之间的关系。 如果用户A和用户B具有相同的国家/地区地址,则它将根据任何相同的类似值打印警报 2-还有一个问题,即一些用户有多个地址,例如用户A有地址x1,用户b有地址x1和地址x2,在这种情况下,我如何将用户A的地址与用户b的多个地址进行比较,并提醒两个用户之间的地址x1匹配 这是两个用户的查询 $query1 = " SELECT a.PID, a.`Name`, a.Avatar, a.Email, b.City, a.L

1-我正在构建一个比较应用程序,用于比较两个用户之间的关系。 如果用户A和用户B具有相同的国家/地区地址,则它将根据任何相同的类似值打印警报

2-还有一个问题,即一些用户有多个地址,例如用户A有地址x1,用户b有地址x1和地址x2,在这种情况下,我如何将用户A的地址与用户b的多个地址进行比较,并提醒两个用户之间的地址x1匹配

这是两个用户的查询

$query1 = "
  SELECT
    a.PID, a.`Name`, a.Avatar, a.Email,
    b.City, a.LDate, b.Country, b.MPhone,
    b.Gender, b.Birthday
  FROM
    `Profile` AS a
    LEFT JOIN Details AS b ON a.PID = b.PID
  WHERE
    a.PID = '1'
";
$UserInfo1 = mysqli_query($mysqli, $query1);
while( $row = mysqli_fetch_array($UserInfo1) ){
  $Avatar1 = "{$row['Avatar']}";
  $Name1 = "{$row['Name']}";
  $Email1 = "{$row['Email']}";
  $Country1 = "{$row['Country']}</td>";
  $MPhone1 = "{$row['MPhone']}</td>";
  $Gender1 = "{$row['Gender']}</td>";
  $City1 = "{$row['City']}</td>";
  $Birthday1 = "{$row['Birthday']}</td>";
    }
  $query2 = "
  SELECT
    a.PID, a.`Name`, a.Avatar, a.Email,
    b.City, a.LDate, b.Country, b.MPhone,
    b.Gender, b.Birthday
  FROM
    `Profile` AS a
    LEFT JOIN Details AS b ON a.PID = b.PID
  WHERE
    a.PID = '2'
";
  $UserInfo2 = mysqli_query($mysqli, $query2);
  while( $row = mysqli_fetch_array($UserInfo2) ){
  $Avatar2 = "{$row['Avatar']}";
  $Name2 = "{$row['Name']}";
  $Email2 = "{$row['Email']}";
  $Country2 = "{$row['Country']}</td>";
  $MPhone2 = "{$row['MPhone']}</td>";
  $Gender2 = "{$row['Gender']}</td>";
  $City2 = "{$row['City']}</td>";
  $Birthday2 = "{$row['Birthday']}</td>";
    }
$query1=”
挑选
a、 PID,a.‘名称’,a.化身,a.电子邮件,
b、 城市,a.LDate,b.Country,b.MPhone,
b、 性别,b.生日
从…起
`Profile`作为一个
左连接详细信息为a.PID=b.PID上的b
哪里
a、 PID='1'
";
$UserInfo1=mysqli_查询($mysqli,$query1);
而($row=mysqli\u fetch\u数组($UserInfo1)){
$Avatar1=“{$row['Avatar']}”;
$Name1=“{$row['Name']}”;
$Email1=“{$row['Email']}”;
$Country1=“{$row['Country']}”;
$MPhone1=“{$row['MPhone']}”;
$Gender1=“{$row['Gender']}”;
$City1=“{$row['City']}”;
$Birthday1=“{$row['Birthday']}”;
}
$query2=”
挑选
a、 PID,a.‘名称’,a.化身,a.电子邮件,
b、 城市,a.LDate,b.Country,b.MPhone,
b、 性别,b.生日
从…起
`Profile`作为一个
左连接详细信息为a.PID=b.PID上的b
哪里
a、 PID='2'
";
$UserInfo2=mysqli\u查询($mysqli,$query2);
而($row=mysqli\u fetch\u数组($UserInfo2)){
$Avatar2=“{$row['Avatar']}”;
$Name2=“{$row['Name']}”;
$Email2=“{$row['Email']}”;
$Country2=“{$row['Country']}”;
$MPhone2=“{$row['MPhone']}”;
$Gender2=“{$row['Gender']}”;
$City2=“{$row['City']}”;
$Birthday2=“{$row['Birthday']}”;
}
3-最终的结果是,我想制作流程图,并将匹配的信息相互指向,如下图所示:

在php或Mysql中进行这种比较的最佳和最简单的方法是什么


我们非常需要并感谢您的帮助。

sql真正适合匹配。为什么要在php中执行此操作?php或sql。我已经编辑了这个问题。渴望得到一个好的解决方案。如果您能提供帮助,我们将不胜感激。类似以下查询:
SELECT u1.PID,u2.PID,u1.country FROM Details u1 internal JOIN Details u2 ON(u1.country=u2.country),其中u1.PID=1和u2.PID=2
应提供这两个用户的所有匹配国家/地区。然后您可以运行查询以获取更多用户详细信息。感谢您的贡献,Yuri,但这不是';我不能满足我的要求,因为国家只是一个例子。我想匹配其他价值观,比如电话城。我';m以繁琐的方式解决问题,I和39;我会把它作为一个答案发布,这样其他人就会更好地理解我的要求。