ホームページ >バックエンド開発 >PHPチュートリアル >PHP で関数をコールバックとして使用するにはどうすればよいですか?
PHP で関数をコールバックとして使用すると、匿名関数または名前付き関数を使用できます。匿名関数の構文は次のとおりです: $callback = function ($argument) { return $result; }。名前付き関数には名前があり、通常の関数と同様に定義されます。一般的に使用される組み込み関数は、array_map()、array_filter()、usort() などのパラメータとしてコールバックを受け入れます。実際には、コールバック関数を使用してカスタム検証ルールを定義し、電子メール検証コールバックなどの検証関数に渡すことができます: function validateEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL); }。
#PHP で関数をコールバックとして使用する方法
コールバック関数は、別の関数内で呼び出される関数を指します。 PHP では、匿名関数 (クロージャ) または名前付き関数をコールバックとして使用できます。匿名関数をコールバックとして使用する
匿名関数は、必要に応じて作成できる名前のない関数です。匿名関数を作成するには、次の構文を使用します。$callback = function ($argument) { return $result; };たとえば、数値に 5 を加算するコールバック関数を作成します。
$add5 = function ($num) { return $num + 5; };
名前付き関数をコールバックとして使用します
名前付き関数は、通常の関数と同様に定義できる名前を持つ関数です。名前付き関数をコールバックとして使用するには、関数に名前を付けます。 たとえば、数値を 2 乗して 10 を加算するコールバック関数を作成します。function squareAndAdd10($num) { return $num * $num + 10; }
コールバックを使用する関数を呼び出す
いくつかの組み込み関数があります。コールバックを受け入れる関数内でパラメータとして使用します。例:: 配列内の各要素にコールバックを適用します。
: 配列要素をフィルターし、コールバックの結果に従って TRUE または FALSE を返します。
: コールバックで定義された並べ替え条件に従って配列を並べ替えます。
array_map() を使用して、
$add5 コールバックを配列
$numbers:
$numbers = [1, 2, 3, 4, 5]; $result = array_map($add5, $numbers);に適用します。 この時点で、
$result には
[6, 7, 8, 9, 10] が含まれます。
実際的なケース
コールバック関数を使用する一般的な例は、カスタム検証ルールを追加することです。フォームを処理する関数があり、フォーム フィールドの値を検証したいとします。コールバックを使用してカスタム検証ルールを定義し、そのルールを検証関数に渡すことができます。 たとえば、電子メール アドレスを検証するコールバックを作成します:function validateEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL); }次に、このコールバックをフォーム検証関数に渡すことができます:
$validator = new FormValidator(); $validator->addRule('email', 'validateEmail');さて、
FormValidator 電子メール アドレスは、
validateEmail コールバックを使用して検証されます。
以上がPHP で関数をコールバックとして使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。