| | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
本ドキュメントにおける疑似的な型および変数mixedmixed は、引数に多様な型 (全てである必要はない) を使うことができることを示します。 例えば gettype() 関数は全ての PHP の型を受け入れるのに対し、 str_replace() は文字列と配列のみを受け入れます。 callbackcall_user_func() や usort() 等の関数は、ユーザが定義するコールバック関数を引数として受け入れます。 コールバック関数は、単純な関数だけでなく、オブジェクトのメソッド あるいはクラスの静的メソッドであってもかまいません。 PHP 関数はその名前を単に文字列として渡されます。 どのようなビルトインまたはユーザ定義の関数も渡すことができます。 ただし、 array(), echo(), empty(), eval(), exit(), isset(), list(), print() あるいは unset() はコールバックとしては使用できないことに注意しましょう。 オブジェクトのインスタンスを渡すための方法の 1 つは、 オブジェクトを 0 番目の要素、 メソッド名を 1 番目の要素として含む配列を渡すことです。 静的なクラスメソッドの場合、 0 番目の要素としてオブジェクトを渡す代わりにクラス名を渡すことにより、 オブジェクトのインスタンスを作成せずに渡すことができます。 一般的なユーザ定義関数とは異なり、create_function() では無名コールバック関数を作成することができます。PHP 5.3.0 以降は、 クロージャ を callback パラメータに渡せるようになりました。
例1 コールバック関数の例
<?php
例2 クロージャを使用するコールバックの例
<?php上の例の出力は以下となります。 2 4 6 8 10
void返り値の型が void である場合は、 返り値に意味がないことを表します。パラメータ一覧で void が使用されている場合は、 その関数がパラメータを受け付けないことを表します。 ...関数のプロトタイプ宣言における $... は、 …など を表します。 この変数名を用いるのは、たとえば任意の数の引数を取りうる関数などです。 |
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「本ドキュメントにおける疑似的な型および変数」をGoogle検索
|