PHP У меня есть два одиночных массива, которые заполнены из двух таблиц с идентификаторами. Из одного массива мне нужно убрать все идентификаторы того же значения, в которых появляется больше, чем число X. Я делаю это:Array удаление дубликатов записей, где они превышают значение X
volunteerRoleQuery = mysql_query("SELECT member_no, role_code, volunteer_date FROM evntrole WHERE volunteer_date > '$today' ");
$numberEvntRole = mysql_numrows($volunteerRoleQuery);
while ($row = mysql_fetch_assoc($volunteerRoleQuery)) {
$member_no = $row["member_no"];
array_push($volunteersArray, $member_no);
}
fputcsv($output, array('Member number', 'Full name', 'First name', 'Surname', 'Email', 'Mobile', 'Phone'));
$teamMemQuery = mysql_query("SELECT member_number, activity_code, modify_date FROM teammem WHERE modify_date > '$today' ");
$numberTeamMem = mysql_numrows($teamMemQuery);
if ($numberTeamMem > 0) {
while ($row = mysql_fetch_assoc($teamMemQuery)) {
$member_no = $row["member_number"];
array_push($teamMemArray, $member_no);
}
}
// TODO: только сохранить ID пользователя с более чем х событий, скажем, 3 // например 1,1,2,3,3,3,3,6,7 , 7,7,7 будет держать только 3,7 // Это гарантирует, что мы не просим членов добровольно, если только сделать несколько событий.
$result=array_unique($teamMemArray);
array_diff_ORG_NEW($teamMemArray,$volunteersArray, 'VALUES');
$result=array_unique($teamMemArray);
sort($result);
foreach ($result as &$value) {
$resultNames = mysql_query("SELECT first_name, surname, mobile, phone_home, e_mail FROM names WHERE member_no='$value'");
$rowNames = mysql_fetch_array($resultNames);
$firstName = $rowNames['first_name'];
$surname = $rowNames['surname'];
if ($surname > "") {
fputcsv($output, array($value, $names, $firstName, $surname, $email, $mobile, $homePhone));
}
}
Массив может выглядеть так: 1,1,1,4,4,5,6,7,7,7,7 и т. Д. Если значение X равно 3, то останется только 7. Любые примеры были бы замечательными. –