Php 比较两个数组并检索第二个数组的值
array1=数组() array2=数组() 两个数组都有来自数据库的值 Array2包含培训列表,而array1包含已参加培训的列表 我想比较array1和array2,并检索不在array1中的培训列表 以下是我目前正在执行的代码片段:Php 比较两个数组并检索第二个数组的值,php,mysql,Php,Mysql,array1=数组() array2=数组() 两个数组都有来自数据库的值 Array2包含培训列表,而array1包含已参加培训的列表 我想比较array1和array2,并检索不在array1中的培训列表 以下是我目前正在执行的代码片段: $query2 = "SELECT trainingName, rank FROM crewtraininglist WHERE crewId = '$crewId'"; $result2 = mysqli_query($conn, $query2);
$query2 = "SELECT trainingName, rank FROM crewtraininglist WHERE crewId = '$crewId'";
$result2 = mysqli_query($conn, $query2);
$array = array();
while($row = mysqli_fetch_assoc($result2))
{
$rank = $row['rank'];
$training = $row['trainingName'];
$array[] = $row['trainingName'];
echo "<li>$training</li>";
//echo "<option value='{$row['name']}'>{$row['name']}</option>";
}
$array2 = array();
$query3 = "SELECT `trainingName`, `rank` FROM `traininglist` WHERE rank LIKE '%$rank%'";
$result3 = mysqli_query($conn, $query3);
while($row = mysqli_fetch_assoc($result3))
{
$array2[]=$row['trainingName'];
}
$array3 = array_diff($array,$array2);
print_r ($array3);
Array2的输出为:
Array (
[0] => License + COC & Endrs.
[1] => Basic Training + COP
[2] => Personal Safety & Social Responsibility
[3] => Proficiency in Survival Craft & Rescue Boat (PSCRB) + COP
[4] => Advance Training in Firefighting (AFF) + COP
[5] => Medical Emergency First Aid (MEFA) + COP
[6] => Medical Care (MECA) + COP [7] => Radar Observing & Ploting Courses (ROC)
[8] => Operational Use of Automatic Radar Ploting Aids (ARPA)
[9] => Radar Simulator Course (RSC)
[10] => Ship Simulator & Bridge Team Work (SSBT) w/BRM
)
使用
有关更多信息,请参阅。我尝试了数组_diff,但它返回array1@Laluna用一些测试数据制作一个简单的示例,您可以在这里向我们展示,以演示您希望如何准确地比较这两个阵列。只有两个包含3-5个元素的阵列以及归档的目标。(+同时添加您当前的尝试/代码)您是否可以发布几个示例数组,因为数组_diff应该可以工作。除非值不完全相同。欢迎使用堆栈溢出!对于将来的问题,一定要查看这些文档--创建清晰、文档齐全、广受欢迎的帖子。这看起来可能是的重复,但用不同的词,但目标相同…我尝试了array_diff,但是它返回array1的值,为两个数组添加示例数据。将参数传递给array_diff()的顺序是important@MarkBaker我所给的一切都是正确的OP@NiranjanNRaju-我想到的是OP的评论,他们试过了,但没用,而不是你自己(正确)的论点顺序
Array (
[0] => License + COC & Endrs.
[1] => Basic Training + COP
[2] => Personal Safety & Social Responsibility
[3] => Proficiency in Survival Craft & Rescue Boat (PSCRB) + COP
[4] => Advance Training in Firefighting (AFF) + COP
[5] => Medical Emergency First Aid (MEFA) + COP
[6] => Medical Care (MECA) + COP [7] => Radar Observing & Ploting Courses (ROC)
[8] => Operational Use of Automatic Radar Ploting Aids (ARPA)
[9] => Radar Simulator Course (RSC)
[10] => Ship Simulator & Bridge Team Work (SSBT) w/BRM
)
$array1 = array()// from database
$array2 = array()// from database
$array3 = array_diff($array2,$array1);