PHP の疑似タイプと疑似変数

怪我咯
怪我咯オリジナル
2017-06-19 13:53:212455ブラウズ

1. 疑似型

PHP の疑似型には次の 3 つがあります。1、混合混合型。 2.数字デジタルタイプ。 3. callbackコールバックタイプ

1、混合混合型:

混合は、パラメータが複数の異なる型を受け入れることができるが、すべての型を受け入れることができるわけではないことを示します。

2、number 数値型:

number パラメータは、整数型と float浮動小数点型を受け入れることができます。

3、コールバックタイプ:

たとえば、call_user_func() 関数は、PHP の組み込み関数 であるユーザー定義関数をパラメーターとして受け取ることができます。コールバック関数は関数だけでなく、オブジェクトのメソッドや静的クラスのメソッドも使用できます。 php 関数 は、関数名 string として渡されます。array()、echo()、empty()、eval()、exit などの言語構造を除く、任意の組み込み関数またはユーザー定義関数を渡すことができます。 () 、isset()、list()、print()、unset() など。

オブジェクトのメソッドを渡したい場合は、配列の添字 0 がオブジェクト名、添字 1 がメソッド名になります。オブジェクトとしてインスタンス化された静的クラスがない場合、そのメソッドを渡すには、配列 0 の添字で指定されたオブジェクト名をクラスの名前に置き換えます。

通常のユーザー定義関数に加えて、create_function を使用して匿名の コールバック関数 を作成することもできます。

Example::

<?php

	//普通的回调函数
	function my_callback_function(){
		echo "my is callback function.";
	}

	//回调方法
	class MyClass{
		static function myCallbackMethod(){
			echo "my is callback method.";
		}
	}

	//num1:回调函数
	call_user_func(&#39;my_callback_function&#39;);

	//num2:静态类的方法
	call_user_func(array(&#39;MyClass&#39;,&#39;myCallbackMethod&#39;));

	//num3:对象方法
	$obj = new MyClass();
	call_user_func(array($obj,&#39;myCallbackMethod&#39;));

	//num4:静态类的方法(5.3.0以上)
	call_user_func(&#39;MyClass::myCallbackMethod&#39;);

	//num5:相对静态方法调用
	class A {
		public static function who(){
			echo "A";
		}
	}

	class B extends A {
		public static function who(){
			echo "B";
		}
	}

	call_user_func(array(&#39;B&#39;,&#39;parent::who&#39;));	//输出B

	//num6:调用时传入参数
	function test($a,$b){
		echo $a;
		echo $b;
	}

	call_user_function(&#39;test&#39;,&#39;1&#39;,&#39;2&#39;);	//输出1 2

	//num7:调用类方法传入参数
	class a(){
		function b($c){
			echo $c;
		}
	}

	call_user_func(array(&#39;a&#39;,&#39;b&#39;),&#39;1&#39;);	//输出1

	//num8:call_user_func_array与call_user_func很相似,只不过换了一种方式传递参数,让参数结构更清晰:
	function a($b,$c){
		echo $b;
		echo $c;
	}

	call_user_func_array(&#39;a&#39;,array(&#39;1&#39;,&#39;2&#39;));	//输出1 2

	//num9:用call_user_func_array调用类内部方法
	class A(){
		function a($b,$c){
			echo $b;
			echo $c;
		}
	}
	
	call_user_func_array(array(&#39;A&#39;,&#39;a&#39;),array(&#39;1&#39;,&#39;2&#39;));	//输出1 2

	//num10:call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:
	function a($b){
		$b++;
	}
	$c=0;
	call_user_func(&#39;a&#39;,$c);	//输出1
	call_user_func(&#39;a&#39;,array($c));	//输出2


2. 疑似変数 php の

$... は疑似変数であり、などを意味します。この変数名は、関数が任意の数のパラメータを受け入れることができる場合に使用されます。

以上がPHP の疑似タイプと疑似変数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。