PHP 配列の高度な並べ替え: カスタム コンパレーターと匿名関数
PHP では、配列をカスタム順序で並べ替える 2 つの方法があります。 カスタム コンパレータ: Comparable インターフェイスを実装し、2 つのオブジェクトの比較規則を指定します。匿名関数: 2 つのオブジェクトを基準と比較するためのカスタム コンパレーターとして匿名関数を作成します。
PHP 配列の高度な並べ替え: カスタム コンパレーターと匿名関数
PHP では、配列をカスタム順序で並べ替えます。並べ替えには、それ以上の機能が必要です。標準のソート関数が提供できます。カスタム コンパレータと匿名関数は、sort()
や rsort()
などの組み込み関数よりも柔軟な並べ替えメカニズムを提供します。
カスタム コンパレータ
カスタム コンパレータは、2 つのオブジェクトを比較する方法を定義する Comparable
インターフェイスを実装するクラスです。 compareTo()
メソッドを実装して、どのオブジェクトが別のオブジェクトより大きい、小さい、または等しいとみなされるかを指定します。
class CustomComparator implements Comparable { public function compareTo($a, $b): int { if ($a == $b) { return 0; } return $a > $b ? 1 : -1; } }
匿名関数
匿名関数は、その場で作成して引数として渡すことができる名前のない関数です。これらは、カスタム コンパレータの作成によく使用されます:
$comparator = function($a, $b) { if ($a == $b) { return 0; } return $a > $b ? 1 : -1; };
実践例
学生の名前とスコアを含む配列を検討してください:
$students = [ ['name' => 'Alice', 'score' => 85], ['name' => 'Bob', 'score' => 90], ['name' => 'Carol', 'score' => 80], ];
Customコンパレータ メソッド
$comparator = new CustomComparator(); usort($students, [$comparator, 'compareTo']);
匿名関数メソッド
usort($students, function($a, $b) { return $a['score'] <=> $b['score']; });
上記のコードは、配列を学生のスコアの小さいものから大きいものに並べ替えます:
[ ['name' => 'Carol', 'score' => 80], ['name' => 'Alice', 'score' => 85], ['name' => 'Bob', 'score' => 90], ];
以上がPHP 配列の高度な並べ替え: カスタム コンパレーターと匿名関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
