ホームページ >バックエンド開発 >PHPチュートリアル >phpの擬似型の詳しい説明
php 疑似型 (疑似型) は、パラメーターが使用できる型と値を示すために PHP ドキュメントで使用されます。 これらは PHP 言語のネイティブ型ではないことに注意してください。 したがって、疑似型はカスタム関数の型制約 (typehint) に使用できません。
mixed は、パラメーターが複数の異なる (ただし、すべてではない) 型を受け入れることができることを示します。
たとえば、gettype() はすべての PHP タイプを受け入れることができ、str_replace() は文字列と配列を受け入れることができます。
number は、パラメータが整数または浮動小数点数であることを示します。
コールバック疑似型は、PHP 5.4 で呼び出し可能型が導入される前に使用されていました。どちらもまったく同じ意味です。
call_user_func() や usort() などの一部の関数は、ユーザー定義のコールバック関数をパラメーターとして受け入れることができます。コールバック関数は単純な関数だけでなく、静的クラス メソッドなどのオブジェクト メソッドも使用できます。
たとえば、call_user_func() 関数は、PHP の組み込み関数であるユーザー定義関数をパラメーターとして受け取ることができます。コールバック関数は関数だけでなく、オブジェクトのメソッドや静的クラスのメソッドも使用できます。 PHP 関数は、array()、echo()、empty()、eval()、exit()、isset などの言語構造を除く、任意の組み込み関数またはユーザー定義関数を関数名文字列として渡すことができます。 () 、list()、print()、unset() など。
こちらの例を参照してください
//call_user_func()函数用法如下:function my_callback_function(){ echo "my is callback function."; } //回调方法 class MyClass{ static function myCallbackMethod(){ echo "my is callback method."; } } //num1:回调函数 call_user_func('my_callback_function'); //num2:静态类的方法 call_user_func(array('MyClass','myCallbackMethod')); //num3:对象方法 $obj = new MyClass(); call_user_func(array($obj,'myCallbackMethod')); //num4:静态类的方法(5.3.0以上) call_user_func('MyClass::myCallbackMethod'); //num5:相对静态方法调用 class A { public static function who(){ echo "A"; } } class B extends A { public static function who(){ echo "B"; } } call_user_func(array('B','parent::who')); //输出B //num6:调用时传入参数 function test($a,$b){ echo $a; echo $b; } call_user_function('test','1','2'); //输出1 2 //num7:调用类方法传入参数 class a(){ function b($c){ echo $c; } } call_user_func(array('a','b'),'1'); //输出1 //num8:call_user_func_array与call_user_func很相似,只不过换了一种方式传递参数,让参数结构更清晰: function a($b,$c){ echo $b; echo $c; } call_user_func_array('a',array('1','2')); //输出1 2 //num9:用call_user_func_array调用类内部方法 class A(){ function a($b,$c){ echo $b; echo $c; } } call_user_func_array(array('A','a'),array('1','2')); //输出1 2
array|object は、パラメーターが配列またはオブジェクトのいずれかであることを意味します。
戻り値の型としての void は、関数の戻り値が役に立たないことを意味します。パラメーター リストとして void は、関数がパラメーターを受け入れないことを意味します。
関数プロトタイプでは、$… などを意味します。関数が任意の数のパラメーターを受け入れることができる場合は、この変数名を使用します。
<?phpfunction sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; }echo sum(1, 2, 3, 4);?>
関連する推奨事項:
通常のパラメーター関数と疑似型パラメーター関数の php 関数
以上がphpの擬似型の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。