今回は、PHPのコールバック関数の使い方と、PHPコールバック関数を使用する際の注意事項について詳しく説明します。以下は実際のケースですので、見てみましょう。
この記事の例では、PHP コールバック関数の概念と使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:1. コールバック関数の概念
まず C 言語のコールバック関数を見てみましょう: コールバック関数は、 他の言語のコールバック関数の概念は似ていますが、さまざまな言語のコールバック関数の実装メカニズムは異なります。一般的に、コールバック関数は定義した関数ですが、直接呼び出すのではなく、呼び出します。別の関数を呼び出すには、この関数はその名前とパラメーターを受け取ってコールバック関数を呼び出します。2. phpでのコールバック関数の実装
PHP には、コールバック関数をサポートする 2 つの組み込み関数が用意されています。これら 2 つの関数の違いは、call_user_func_arraycall_user_func()
和call_user_func_array()
がコールバック 関数のパラメーターを配列の形式で受け取ることです。mixed call_user_func_array (callable $callback, array$param_arr) というプロトタイプを見るとわかります。パラメータは 2 つだけです。 call_user_func($callback, パラメータ 1, パラメータ 2,...) のパラメータの数は、コールバック関数のパラメータに従って決定されます。
スクリプト内のグローバル関数
りー 実行結果:
<?php //普通函数 function f1($arg1,$arg2) { echo FUNCTION.'exec,the args is:'.$arg1.' '.$arg2; echo "<br/>"; } //通过call_user_func调用函数f1 call_user_func('f1','han','wen'); //通过call_user_func_array调用函数 call_user_func_array('f1',array('han','wen')); class A { public $name; function show($arg1) { echo 'the arg is:'.$arg1."<br/>"; echo 'my name is:'.$this->name; echo "<br/>"; } function show1($arg1,$arg2) { echo METHOD.' exec,the args is:'.$arg1.' '.$arg2."<br/>"; } public static function show2($arg1,$arg2) { echo METHOD.' of class A exec, the args is:'.$arg1.' '.$arg2."<br/>"; } } //调用类中非静态成员函数,该成员函数中有$this调用了对象中的成员 $a = new A; $a->name = 'wen'; call_user_func_array(array($a,'show',),array('han!')); //调用类中非静态成员函数,没有对象被创建,该成员函数中不能有$this call_user_func_array(array('A','show1',),array('han!','wen')); //调用类中静态成员函数 call_user_func_array(array('A','show2'),array('argument1','argument2'));
PHP で file_put_contents 関数を使用する方法
以上がPHPコールバック関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。