1

我正在为一个我无法解决的愚蠢问题而苦苦挣扎,可能是因为我的脑袋疯了。但真的,我想不通。这可能比我想象的要简单,但我也无法在网上找到解决方案。我有这个数组,按我想要的方式排序:

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)

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

提前致谢

4

1 回答 1

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;
}
于 2012-11-16T11:43:18.267 回答