2つの配列を比較したい:1つは可能なオプションのリストを含み、もう1つの配列は優先順位を含む。PHP:2つの配列を比較し、優先度でソート
これは、2つの配列が編成されている方法です。
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',
),
)
と、これは$優先度が含まれているものですが:
foreach ($varsA as $varA) {
foreach ($varsB as $varB) {
$options[$varA][$varB] = $id;
$priority[$varA] = $priority + $priority[$varA];
}
}
が、これは$のオプションが含まれているものです
array (
1 => 5,
2 => 9,
3 => 9,
4 => 5,
)
I $ 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