| コールバック / Callableコールバックは、callable 型で表されます。 call_user_func や usort 等の関数は、ユーザーが定義するコールバック関数を引数として受け入れます。 コールバック関数は、単純な関数だけでなく、オブジェクトのメソッド あるいはクラスのstaticメソッドであってもかまいません。 受け渡しPHP 関数はその名前を単に文字列、または 第一級callable として渡します。 どのようなビルトインまたはユーザー定義の関数も渡すことができます。 ただし、 array, echo, empty, eval, exit, isset, list, print あるいは unset といった言語構造はコールバックとしては使えないことに注意しましょう。 オブジェクトのインスタンスを渡すには配列を使います。 配列の 0 番目の要素にオブジェクトを、 そして 1 番目の要素にメソッド名を指定します。 protected メソッドや private メソッドは、クラスの内部からはアクセスできます。 
   static メソッドの場合、オブジェクトのインスタンスは不要です。
   0 番目の要素として、オブジェクトのかわりにクラス名を指定します。
    一般的なユーザー定義関数とは異なり、 無名関数 と アロー関数 もパラメータとして渡せます。 
 一般的には、 __invoke() を実装した任意のオブジェクトもパラメータとして渡せます。 
 例1 コールバック関数の例 
 例2 クロージャ (Closure) を使ったコールバックの例 上の例の出力は以下となります。 2 4 6 8 10 
 |