Я пытаюсь уточнить список поиска, чтобы, когда пользователь нажимает на флажки, он уточнял результаты на основе выбранных критериев.Вот PHP-функция, которую я использую:
function($criteria_a,$criteria_b,$criteria_c,$criteria_d){
if($criteria_a==1){
// build array
$a_array=array($user_a,$user_e,$user_f);
}
if($criteria_b==1){
// build array
$b_array=array($user_a,$user_c,$user_e);
}
if($criteria_c==1){
// build array
$c_array=array($user_b);
}
if($criteria_d==1){
// build array
$d_array=array($user_a,$user_e);
}
$main_array = array_merge($a_array,$b_array,$c_array,$d_array);
}
По сути, когда пользователь нажимает на флажок критерия A (который может быть чем-то вроде «Показать тех, кому меньше 30»), он создает $a_array
ссписок пользователей, которые соответствуют критериям.
Но проблема заключается в следующем: если я определил критерии A, B и D как 1, он заполняет $main_array
пользователями, которые соответствуют any критериев вместо пользователей, которые удовлетворяют всем критериям.Основной массив будет выглядеть следующим образом:
array($user_a,$user_e,$user_f,$user_a,$user_c,$user_e,$user_a,$user_e);
Но я только хочу, чтобы он перечислял пользователей, которые соответствуют всем критериям:
array($user_a,$user_e);
Эти пользователи соответствуют каждому из указанных критериеввместо любого из указанных критериев.Я также не уверен, поможет ли это:
$acv = array_count_values($main_array);
arsort($acv);
$main_array = array_keys($acv);
Кто-нибудь знает, что я могу сделать?