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)

最初のものの順序を使用して、2番目のものをキーで並べ替えることはできますか?もしそうなら、どのように?

前もって感謝します

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 に答える