我想比较两个数组:一个包含可能的选项列表,另一个数组包含优先级。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