PHP関数のコールバック関数(1) 変数関数の定義、宣言、適用
いわゆるコールバック関数は、関数を呼び出すときに、標準変数をパラメータとして渡す代わりに、呼び出された関数に別の関数がパラメータとして渡されることを意味します。関数の形式説明に callback 型パラメーターが含まれている場合、その関数はコールバック関数です。前のセクションでは php 変数パラメーター関数 を紹介しましたが、このセクションでは php コールバック関数の学習に入ります。
コールバック関数の形式の説明は次のとおりです:
mixed funName (callback arg) //在参数列表中使用伪类型 callback 描述
callback は PHP の疑似型の一種でもあり、関数のパラメーターが別の関数を実際のパラメーターとして受け入れる必要があることを示します。非常に重要な疑問は、なぜ関数をパラメーターとして使用するのかということです。前に紹介したように、呼び出し元関数の実行動作はパラメーターを渡すことで変更できますが、関数に値を渡すだけの機能がまだ制限されている場合があります。ユーザー定義の実行プロセスを関数に渡して使用できれば、ユーザーによる関数の機能拡張が大幅に向上します。コールバック関数を宣言して使用する方法も重要な問題です。コールバック関数を宣言する必要がある場合は、まず変数関数を理解する必要があります。
変数関数
変数関数は、変数関数とも呼ばれます。変数名の後にかっこが続く場合、PHP は変数の値と同じ名前の関数を探し、その関数の実行を試みます。たとえば、関数 test() を宣言し、関数名文字列 test を変数 $demo に割り当てます。 $demo 変数を直接出力する場合、出力値は文字列 test でなければなりませんが、$demo 変数の後に括弧 $demo() を追加すると、$demo 変数値 test に対応する関数が呼び出されます。このようにして、同じ変数に異なる関数名を割り当てることができ、その変数を介して関数を呼び出すことができます。これは、オブジェクト指向におけるポリモーフィック機能の適用に似ています。
コード例は次のとおりです:
<?php function one($a,$b){ return $a + $b; } function two($a,$b){ return $a*$b; } function three($a,$b){ return $a/$b; } $result = "one"; //将函数名one赋值给变量$result,执行$result()时则调用函数one() //$result = "two"; //将函数名two赋值给变量$result,执行$result()时则调用函数two() //$result = "three"; //将函数名three赋值给变量$result,执行$result()时则调用函数three() echo "结果是:".$result(4,6); //变量$result接收到哪个函数名的值,就调用哪个函数 ?>
上記の例では、3 つの関数 one()、two()、three() が宣言されており、それぞれ 2 つの数値の合計、積、商を計算するために使用されます。 。そして、3 つの関数の関数名 (括弧なし) を文字列の形式で変数 $result に代入し、変数名 $result の後に 括弧を付けて 2 つの整数パラメーターを渡すと、次の関数が見つかります。変数 $result の値と同じ名前が実行されます。ほとんどの関数は、関数 name を変数に割り当てて、変数関数を形成できます。ただし、変数関数は言語構造では使用できません。
変数関数を使用してコールバック関数を宣言および適用する
コールバックできる関数をカスタマイズする場合は、変数関数を使用して実装を支援することを選択できます。コールバック関数を定義する場合、宣言されたパラメータが通常の変数である限り、関数の宣言構造は変わりません。ただし、このパラメータ変数を関数内で使用する場合、括弧を追加すると、パラメータ値と同じ名前の関数を呼び出すことができるため、渡されるパラメータは別の関数の名前文字列である必要があります。コールバック関数を使用する目的は、独自に定義した関数を関数に渡して使用することです。
コード例は次のとおりです:
<?php //声明回调函数filter, 在0-10的整数中通过自定义条件过滤不要的数字 function filter($fun){ for($i=0; $i<=10; $i++){ //将参数变量$fun加上一个圆括号$fun(),则为调用和变量$fun值同名的函数 if($fun($i)) continue; echo $i.'<br>'; } } //声明一个函数one,如果参数是3的倍数就返回ture,否则返回false function one($num){ return $num%3 == 0; } //声明一个函数two,如果参数是一个回文数返回ture,否则返回false function two($num){ return $num == strrev($num); } filter("one"); //打印出10以内非3的倍数,参数one是函数one()的名称字符串,是一个回调 echo "---------------------<br>"; filter("two"); //打印出10以内非回文数,参数two是函数two()的名称字符串,是一个回调 ?>
実行結果は次のとおりです:
上記の例では、宣言された関数 filter() がパラメータとして通常の値のみを受け入れる場合、ユーザーはフィルターで除外できます数値は比較的単純なものになります。この例では、定義された関数 filter() で、フィルター条件として渡された税金を含む値が呼び出されます。このようにして、この関数は、フィルターで不要な数値を除外できます。フィルター()関数。関数filter()内でパラメータ変数$funに括弧$fun()を追加することで、変数$funと同じ値を持つ関数をフィルタリング条件として呼び出すことができます。たとえば、この例では、2 つの関数 one() と two() が宣言されています。これらは、filter() を呼び出すときに関数名 one と two が文字列である限り、それぞれ 10 以内の 3 の倍数と回文をフィルタリングするために使用されます。これら 2 つの関数はパラメーターに渡され、内部使用のために filter() 関数に渡されます。
この章では、PHP コールバック関数の変数関数の定義、宣言、応用について説明します。次の章では、PHP コールバック関数の call_user_func_array() 関数とその使用法を紹介します。
【おすすめ関連チュートリアル】1.「php.cn Dugu Jiijian (4) - PHPビデオチュートリアル」
2.PHPプログラミングの入門からマスターまでの完全なビデオチュートリアルセット
以上がPHP関数のコールバック関数(1) 変数関数の定義、宣言、適用の詳細内容です。詳細については、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 関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか?インターネットの発展に伴い、Web ページ内の画像の数が増加し、ページの読み込み速度に圧力がかかっています。ユーザーエクスペリエンスを向上させ、読み込み時間を短縮するために、画像の遅延読み込みテクノロジーを使用できます。画像の遅延読み込みにより、画像の読み込みが遅れる可能性があります。画像は、ユーザーが表示領域までスクロールしたときにのみ読み込まれるため、ページの読み込み時間が短縮され、ユーザー エクスペリエンスが向上します。 PHP Web ページを作成する場合、いくつかの関数を作成することで画像の遅延読み込み効果を最適化できます。詳細は以下

Java コールバック関数の記述方法は次のとおりです: 1. インターフェイス コールバック、コールバック メソッドを含むインターフェイスを定義し、そのインターフェイスをコールバックをトリガーする必要があるパラメーターとして使用し、適切なタイミングでコールバック メソッドを呼び出します。匿名内部クラス コールバック 、追加の実装クラスの作成を避けるために、匿名内部クラスを使用してコールバック関数を実装できます; 3. ラムダ式コールバック. Java 8 以降では、ラムダ式を使用してコールバック関数の作成を簡素化できます。

PHP 関数を使用してメモリ使用量を削減する方法 開発において、メモリ使用量は非常に重要な考慮事項です。プログラムで大量のメモリが使用されると、速度が低下したり、プログラムがクラッシュしたりする可能性があります。したがって、メモリ使用量を合理的に管理し削減することは、すべての PHP 開発者が注意を払うべき問題です。この記事では、PHP 関数を通じてメモリ使用量を削減するいくつかの方法を紹介し、読者の参考となる具体的なコード例を示します。 PHP で変数を解放するには、unset() 関数を使用します。変数が不要になった場合は、次を使用します。

Java コールバック関数の基本的な書き方と使用法の紹介: Java プログラミングでは、コールバック関数は一般的なプログラミング パターンです。コールバック関数を通じて、メソッドをパラメータとして別のメソッドに渡し、それによってメソッドの間接的な呼び出しを実現できます。コールバック関数の使用は、イベント駆動型、非同期プログラミング、インターフェイス実装などのシナリオで非常に一般的です。この記事では、Java コールバック関数の基本的な書き方と使い方を紹介し、具体的なコード例を示します。 1. コールバック関数の定義 コールバック関数は、パラメータとして使用できる特殊な関数です。

PHPの画像処理関数は、画像の加工・編集に特化した関数群であり、開発者に豊富な画像処理機能を提供します。これらの機能を通じて、開発者は画像のトリミング、拡大縮小、回転、透かしの追加などの操作を実装して、さまざまな画像処理のニーズを満たすことができます。まずはPHPの画像処理関数を使って画像の切り抜き機能を実現する方法を紹介します。 PHP には、画像のトリミングに使用できる imagecrop() 関数が用意されています。トリミング領域の座標とサイズを渡すことで、画像をトリミングできます

さまざまな PHP 関数のパフォーマンスは、アプリケーションの効率にとって非常に重要です。パフォーマンスの良い関数には echo や print などがありますが、str_replace、array_merge、file_get_contents などの関数のパフォーマンスは低くなります。たとえば、str_replace 関数は文字列の置換に使用され、中程度のパフォーマンスを発揮しますが、sprintf 関数は文字列の書式設定に使用されます。パフォーマンス分析によると、1 つの例の実行にかかる時間はわずか 0.05 ミリ秒であり、関数が適切に実行されることが証明されています。したがって、関数を賢く使用すると、アプリケーションをより高速かつ効率的に実行できます。

PHP 関数の紹介: strtr() 関数 PHP プログラミングにおいて、strtr() 関数は非常に便利な文字列置換関数です。文字列内の指定した文字または文字列を他の文字または文字列に置き換えるのに使用されます。この記事では、strtr() 関数の使用法を紹介し、具体的なコード例をいくつか示します。 strtr() 関数の基本構文は次のとおりです。 strtr(string$str, array$replace) ここで、$str は置換される元の単語です。

PHP 関数には他の言語の関数との類似点がありますが、いくつかの独自の機能もあります。構文的には、PHP 関数は function で宣言され、JavaScript は function で宣言され、Python は def で宣言されます。パラメータと戻り値の点では、PHP 関数はパラメータを受け入れて値を返します。JavaScript と Python にも同様の関数がありますが、構文が異なります。スコープに関しては、PHP、JavaScript、Python の関数はすべてグローバル スコープまたはローカル スコープを持ち、グローバル関数にはどこからでもアクセスできますが、ローカル関数には宣言スコープ内でのみアクセスできます。
