プロパティによるオブジェクト配列の並べ替えのカスタマイズ
はじめに:
データの整理と並べ替えは、プログラミングにおいて非常に重要です。それぞれがさまざまなプロパティを持つエンティティを表すオブジェクトの配列があると想像してください。多くの場合、名前や数などの特定のプロパティに基づいてこれらのオブジェクトを並べ替える必要があります。この記事では、PHP でオブジェクト配列のカスタマイズされた並べ替えを実現する方法について説明します。
メソッド:
特定のプロパティによってオブジェクトの配列を並べ替えるには、usort() という強力な関数を使用します。比較プロセスをカスタマイズできます。 2 つのパラメータを取ります:
実装:
例を示します:
function cmp($a, $b) { return strcmp($a->name, $b->name); } usort($your_data, "cmp");
この例では、cmp() 関数は 2 つのオブジェクトの名前を比較します。そして比較結果を返します。次に、usort() 関数は cmp() を使用して、name プロパティに基づいて your_data 配列を昇順に並べ替えます。
代替手段:
従来の関数 (cmp( ))、代替メソッドを 2 番目の引数として使用することもできます。 usort():
usort($your_data, function($a, $b) { return strcmp($a->name, $b->name); });
usort($your_data, array($this, "cmp")); // cmp should be a method in the class
usort($your_data, fn($a, $b) => strcmp($a->name, $b->name));
注:
以上がPHP でオブジェクトの配列をカスタムソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。