[解決済み] オブジェクトの配列をオブジェクトのフィールドでソートする
2022-03-17 14:39:28
質問
このオブジェクトの配列を、次のようにフィールドの1つで並べ替えるにはどうしたらよいでしょうか。
name
または
count
?
Array
(
[0] => stdClass Object
(
[ID] => 1
[name] => Mary Jane
[count] => 420
)
[1] => stdClass Object
(
[ID] => 2
[name] => Johnny
[count] => 234
)
[2] => stdClass Object
(
[ID] => 3
[name] => Kathy
[count] => 4354
)
....
解決方法は?
使用方法 使用方法 以下は、マニュアルから引用した例です。
function cmp($a, $b) {
return strcmp($a->name, $b->name);
}
usort($your_data, "cmp");
また、任意の 呼び出し可能な を第2引数として指定します。以下はその例である。
-
使用方法 無名関数 (PHP 5.3 から)
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
-
使用方法 矢印機能 (PHP 7.4 から)
usort($your_data, fn($a, $b) => strcmp($a->name, $b->name));
また、数値を比較する場合。
fn($a, $b) => $a->count - $b->count
を "compare" 関数として使用すればよいでしょう。また、同じことを別の方法で行いたい場合は、PHP 7 以降では
宇宙船演算子
のようなものです。
fn($a, $b) => $a->count <=> $b->count
.
関連
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] オブジェクトの属性に基づいてオブジェクトのリストを並べ替えるには?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み】PHPの予期しないT_VARIABLEとは何ですか?
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。