我正在努力解决一个我无法解决的愚蠢问题,可能是因为我的脑袋已经疯了。但实际上,我无法弄明白。它可能比我想象的简单,但我也无法在网上找到解决方案。 我有这个数组,按照我想要的方式排序:
array (size=3)
9 => float 124.58194
2 => float 52.8428
8 => float 25.041806
然后,另一个数组具有相同的键,但顺序不同
array (size=3)
8 => string '3' (length=1)
9 => string '3' (length=1)
2 => string '2' (length=1)
我可以按键排序第二个,使用第一个的顺序吗?如果是这样,怎么样?
提前致谢
答案 0 :(得分:1)
试试这个,我测试了它,但它会杀死门徒中没有主人的任何键。
$master = array(
9 => 999
, 2 => 222
, 8 => 888
);
$disciple = array(
8 => 8989
, 9 => 9090
, 2 => 2020
);
$disciplined = discipline($master, $disciple);
var_dump($disciplined);
function discipline($master, $disciple) {
$like_keys = array_intersect_key($master, $disciple);
foreach($like_keys as $key => &$value) {
$value = $disciple[$key];
}
return $like_keys;
}