PHP マニュアル
前のページ | 第 11章型 | 次のページ

# 本ドキュメントにおける疑似的な型

## mixed

mixedは引数に多様な型(全てである必要はない)を 使うことができることを示します。

例えばgettype()関数は全てのPHPの型を受け入れるのに対し str_replace()は文字列と配列のみを受け入れます。

## number

numberは引数がintegerまたはfloat のどちらでもよいことを示します。

## callback

call_user_func()やusort()等の 関数はユーザーが定義するコールバック関数を引数として 受け入れます。コールバック関数はシンプルな関数だけでなく、 静的なクラスのメソッドを含めてオブジェクトのメソッドであっても かまいません。

PHP関数はその名前を単に文字列として渡されます。 どのようなビルトインまたはユーザー定義の関数も渡すことができます。 ただし下記を除きます。 array(), echo(), empty(), eval(), exit(), isset(), list(), print() unset().

オブジェクトのインスタンスを作成するための方法の 1 つは、 オブジェクトを 0 番目の要素、メソッド名を 1 番目の要素として含む配列 を渡す方法です。

スタティッククラスメソッドの場合、0 番目の要素としてオブジェクトを 渡す代わりにクラス名を渡すことにより、オブジェクトのインスタンスを 作成せずに渡すことができます。

例 11-13. コールバック関数の例

`<?php
<?php
// コールバック関数の例
function my_callback_function() {
echo 'hello world!';
}
// コールバックメソッドの例
class MyClass {
function myCallbackMethod() {
echo 'Hello World!';
}
}
// タイプ 1: 単純なコールバック
call_user_func('my_callback_function');
// タイプ 2: スタティッククラスメソッドのコール
call_user_func(array('MyClass', 'myCallbackMethod'));
// タイプ 3: オブジェクトメソッドのコール
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
?>`

前のページ | ホーム | 次のページ
NULL | 上に戻る | 型の相互変換