ホームページ > バックエンド開発 > PHPチュートリアル > PHP で特定のキーに基づいて多次元配列をカスタムソートするにはどうすればよいですか?

PHP で特定のキーに基づいて多次元配列をカスタムソートするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-20 19:04:02
オリジナル
752 人が閲覧しました

How to Custom Sort Multidimensional Arrays Based on a Specific Key in PHP?

多次元配列のカスタム並べ替え

多次元配列の並べ替えは、プログラミングにおける一般的なタスクです。この記事では、PHP の usort() 関数を使用して、特定のキーに基づいてこのような配列を並べ替える方法を説明します。

タスクを理解する

次の多次元配列について考えてみましょう。要素はレコードを表します:

<code class="php">Array (
    [0] => Array
        (
            [iid] => 1
            [invitee] => 174
            [nid] => 324343
            [showtime] => 2010-05-09 15:15:00
            [location] => 13
            [status] => 1
            [created] => 2010-05-09 15:05:00
            [updated] => 2010-05-09 16:24:00
        )

    [1] => Array
        (
            [iid] => 1
            [invitee] => 220
            [nid] => 21232
            [showtime] => 2010-05-09 15:15:00
            [location] => 12
            [status] => 0
            [created] => 2010-05-10 18:11:00
            [updated] => 2010-05-10 18:11:00
        ))</code>
ログイン後にコピー

キーによる並べ替え

この配列を「ステータス」キーで並べ替えるには、次のことを決定する比較関数を定義する必要があります。要素の順序。

<code class="php">function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}</code>
ログイン後にコピー

この関数は、2 つの要素の「ステータス」値を比較します。値が等しい場合は 0 を返します。最初の要素の「ステータス」値が 2 番目の要素よりも低い場合は、-1 を返します。それ以外の場合は、1 を返します。

usort() の使用

usort() 関数を使用して、比較関数を使用して配列を並べ替えることができます。

<code class="php">usort($array, "cmp");</code>
ログイン後にコピー

これは、「ステータス」キーに基づいて配列を昇順に並べ替えます。変更された配列の要素は、それに応じて再配置されます。

比較のカスタマイズ

比較関数をカスタマイズして、任意のキーに基づいて配列を並べ替えることができます。関数を変更するだけで、必要なキー値を比較できます。これにより、さまざまな基準に基づいて多次元配列を柔軟に並べ替えることができます。

以上がPHP で特定のキーに基づいて多次元配列をカスタムソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート