Php sort 2数组键的方式相同

时间:2012-11-16 11:34:31

标签: php arrays sorting key

我正在努力解决一个我无法解决的愚蠢问题,可能是因为我的脑袋已经疯了。但实际上,我无法弄明白。它可能比我想象的简单,但我也无法在网上找到解决方案。 我有这个数组,按照我想要的方式排序:

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)

我可以按键排序第二个,使用第一个的顺序吗?如果是这样,怎么样?

提前致谢

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;
}