我想比較兩個數組:一個包含可能的選項列表,另一個數組包含優先級。PHP:比較兩個數組並按優先級排序
這是怎麼了兩個數組被組織:
foreach ($varsA as $varA) {
foreach ($varsB as $varB) {
$options[$varA][$varB] = $id;
$priority[$varA] = $priority + $priority[$varA];
}
}
這是$選項包括:
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',
),
)
,這是什麼$優先包含:
array (
1 => 5,
2 => 9,
3 => 9,
4 => 5,
)
我想要複製$ options中的重複值,並保留具有最低先驗值的唯一值ty:
輸出結果爲: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;
}
泥比這個代碼更清晰 – Danon 2016-02-25 15:28:32