特定のプロパティに基づいてオブジェクトの配列を並べ替えます
P粉426780515
2023-08-21 15:57:31
<p>このオブジェクトの配列を <code>name</code> や <code>count</code> などのフィールドで並べ替えるにはどうすればよいですか? </p>
<pre class="brush:php;toolbar:false;">配列
(
[0] => stdClass オブジェクト
(
[ID] => 1
[名前] => メリー・ジェーン
[カウント] => 420
)
[1] => stdClass オブジェクト
(
[ID] => 2
[名前] => ジョニー
[カウント] => 234
)
[2] => stdClass オブジェクト
(
[ID] => 3
[名前] => キャシー
[カウント] => 4354
)
....</pre>
<p><br /></p>
これはクロージャを使用するより良い方法です
リーリーこれは PHP ドキュメントには記載されていませんが、バージョン 5.3 を使用している場合は、クロージャがサポートされ、呼び出し可能なパラメータを提供できることに注意してください。
usort を使用した、マニュアルから適応した例を次に示します:
リーリー任意の 呼び出し可能な を 2 番目のパラメータとして使用することもできます。ここではいくつかの例を示します:###
匿名関数の使用 (PHP 5.3 以降) リーリー
リーリー
アロー関数の使用 (PHP 7.4 以降) リーリー
fn($a, $b) => $a->count - $b->count
を行う必要があります。または、同じことを別の方法で実行したい場合は、PHP 7 以降では、次のように
spaceship 演算子 を使用できます。 fn($a, $b) => ; $a->count <=>$b->count。