Ben iki diziyi karşılaştırmak istiyorum: Bir olası seçenekler listesini içeren ve diğer dizi öncelikleri içeriyor.
Bu iki dizileri organize edilmesidir:
foreach ($varsA as $varA) {
foreach ($varsB as $varB) {
$options[$varA][$varB] = $id;
$priority[$varA] = $priority + $priority[$varA];
}
}
Bu $ seçenekler içeren budur:
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',
),
)
ve bu $ öncelik içeren budur:
array (
1 => 5,
2 => 9,
3 => 9,
4 => 5,
)
Ben $ seçeneklerden çiftleri yinelenen değerleri ve düşük öncelik uniques ile bir tutmak istiyorum:
Çıkışı olacaktır: 1, 2, 3 benzersiz değildir ve 1 küçük önceliğe sahiptir Array (1, 4)
Çünkü.
Ben çiftleri kaldırmak için aşağıdaki işlevi kullanılarak ama ben öncelikleri ile başa çıkmak için adapte nasıl bilmiyorum:
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;
}