Я бы хотел сравнить два массива: один содержит список возможных опций, а другой - приоритеты.
Вот как организованы два массива:
foreach ($varsA as $varA) {
foreach ($varsB as $varB) {
$options[$varA][$varB] = $id;
$priority[$varA] = $priority + $priority[$varA];
}
}
это то, что содержит $ options:
array (
1 =>
array (
33307 => 'w',
33313 => '7',
),
2 =>
array (
33307 => 'w',
33313 => '7',
),
3 =>
array (
33307 => 'w',
33313 => '7',
),
4 =>
array (
33307 => '4',
33313 => '7',
),
)
и вот что содержит $ priority:
array (
1 => 5,
2 => 9,
3 => 9,
4 => 5,
)
Я хотел бы продублировать значения дубликатов из $ options и оставить значение с уникальными значениями с самым низким приоритетом:
Вывод будет: Array (1, 4)
Поскольку 1, 2, 3 не уникальны, а 1 имеет наименьший приоритет.
Я использовал следующую функцию для удаления дубликатов, но я не знаю, как ее адаптировать для работы с приоритетами:
super_magic($options) {
$result = array_map("unserialize", array_unique(array_map("serialize", $options)));
foreach ($result as $key => $value) {
if ( is_array($value) ) {
$result[$key] = super_magic($value);
}
}
return $result;
}