我正在尝试创建一个简单的程序,它将比较基于另一个关联数组的关联数组:
$ArrayPriority = array("P1"=>3, "P2"=>5, "P3"=>1, "P4"=>1, "P5"=>4);
$ArrayBurst = array("P1"=>1, "P2"=>2, "P3"=>5, "P4"=>6, "P5"=>9);
是否有一个排序函数来生成$ArrayBurst
的输出:
P3 = 5
P4 = 6
P1 = 1
P5 = 9
P2 = 2
基本上,我想根据$ArrayBurst
对$ArrayPriority
进行排序,然后显示$ArrayBurst
的键和值。
目前,我只能根据值对$ArrayPriority
进行排序,而我使用array_multisort
来执行此操作:
array_multisort(array_values($ArrayPriority), SORT_ASC, array_keys($ArrayPriority), SORT_ASC, $ArrayPriority);
将$ArrayPriority
安排到:
P3 = 1
P4 = 1
P1 = 3
P5 = 4
P2 = 5
答案 0 :(得分:0)
这个怎么样?
<?
$ArrayPriority = array("P1"=>3, "P2"=>5, "P3"=>1, "P4"=>1, "P5"=>4);
$ArrayBurst = array("P1"=>1, "P2"=>2, "P3"=>5, "P4"=>6, "P5"=>9);
uasort($ArrayPriority, function ($p, $n) { return $p - $n;});
uksort($ArrayBurst, function ($p, $n) use($ArrayPriority) {
return $ArrayPriority[$p] - $ArrayPriority[$n];
});
echo '<pre>' . print_r(array($ArrayPriority, $ArrayBurst), 1) . '</pre>';
P.S。 U可能会更改代码以保留突发信息。具有相同优先级的订单,即根据$ArrayPriority
键的顺序处理P3之前的P3。
答案 1 :(得分:0)
如果<?php
$ArrayPriority = array("P1"=>3, "P2"=>5, "P3"=>1, "P4"=>1, "P5"=>4);
$ArrayBurst = array("P1"=>1, "P2"=>2, "P3"=>5, "P4"=>6, "P5"=>9);
asort($ArrayPriority);
$output = [];
foreach($ArrayPriority as $key => $value) {
echo "<p>" . $key . " = " . $ArrayBurst[$key] . "</p>";
}
?>
中的值相同,他们是否需要在re.sub
中设置相同的订单?如果没有,这应该有用。
str.replace