現在の位置: ホーム> 最新記事一覧> PHPアレイを値で並べ替え、キー名を保持する実装方法

PHPアレイを値で並べ替え、キー名を保持する実装方法

M66 2025-07-15

値で配列をソートし、PHPにキー名を保持する方法

PHPでは、sort()関数を使用して値ごとに並べ替えますが、その欠点は、配列のキー名を破壊することです。キー名を保持するために、カスタム関数を使用してこの関数を実装できます。

カスタムソート機能

以下は、値でソートする際に配列のキー名を保持するカスタム関数です。

関数SORTYVALUE($ array){
    $ sortedValues = array_values($ array);
    ASORT($ sortedValues);
    $ sortedkeys = array_keys($ sortedValues);
    return array_combine($ sortedkeys、$ array);
}

実用的なケース

キー名を持つ配列があるとします。次のコードは、カスタム関数を使用して配列をソートする方法を示しています。

$ array = [
    「Apple」=> 10、
    「バナナ」=> 20、
    「オレンジ」=> 5
];

$ SORTEDARRAY = SORTBYVALUE($ array);

print_r($ sortedarray);

コードの実行後の出力結果は次のとおりです。

配列
(
    [オレンジ] => 5
    [Apple] => 10
    [バナナ] => 20
))

ご覧のとおり、配列は昇順で値の順序でソートされ、キー名は変更されません。

要約します

この記事で説明した方法を使用して、PHP開発者は値ごとに配列を簡単に並べ替えてキー名を保持できます。この方法は、sort()関数を使用するときにキー名の欠落の問題を回避し、キー名を対応する値に保持する必要がある状況に非常に適しています。