我正在为一系列主题创建搜索过滤器。基本上,我试图比较两个阵列。
$filtered_subjects = ["math", "science", "english"]
我将这与教师教授的科目进行比较。基本上,如果数组filtered_subjects的每个成员都存在于教师的数组中,并且该教师的数组不包含其他主题,则应标记并删除它。
所以对于以下老师:
$bob_subjects = ["math"]
$sam_subjects = ["math", "science", "english", "astronomy"]
鲍勃应该被删除, 萨姆应该留下来。
关于如何使用PHP最好地完成此任务的任何想法?我如何比较这两个数组并得到YES或NO,以确定是否应该删除教师?
我考虑的一种方法是做以下事情:
$result = array_diff($filtered_subjects, $sam_subjects);
if in_array($result, $filtered_subjects)
{
// remove teacher
} else if in_array($result, $sam_subjects)
{
// don't remove teacher
}
答案 0 :(得分:0)
使用array_intersect
$filtered_subjects = ["math", "science", "english"];
$sam_subjects = ["math", "science", "english", "astronomy"]
if (sizeof(array_intersect($filtered_subjects, $sam_subjects)) == sizeof($filtered_subjects)) {
// it's your teacher
} else {
// else
}