Heim  >  Artikel  >  Backend-Entwicklung  >  Pseudotypen und Pseudovariablen in PHP

Pseudotypen und Pseudovariablen in PHP

怪我咯
怪我咯Original
2017-06-19 13:53:212380Durchsuche

1. Pseudotypen

Es gibt drei PHP-Pseudotypen, nämlich: 1, gemischter Typ. 2. Zahl digitaler Typ. 3. RückrufRückruftyp.

1, gemischter gemischter Typ:

gemischt gibt an, dass ein Parameter mehrere verschiedene Typen akzeptieren kann, aber nicht alle Typen.

2, numerischer Zahlentyp:

Der Zahlenparameter kann Ganzzahltypen und Gleitkommatypen Gleitkommatypen akzeptieren.

3. Rückruftyp:

Zum Beispiel kann die Funktion call_user_func() eine benutzerdefinierte Funktion als Parameter erhalten php Eine integrierte Funktion . Die Rückruffunktion kann nicht nur eine Funktion, sondern auch eine Methode eines Objekts und eine Methode einer statischen Klasse sein. Eine php-Funktion wird mit dem Funktionsnamen string übergeben, mit Ausnahme von Sprachstrukturen wie array(), echo(), empty (), eval(),exit(),isset(),list(),print(),unset() usw.

Wenn Sie die Methode eines Objekts übergeben möchten, muss diese in Form eines Arrays übergeben werden. Der Array-Index 0 ist der Objektname und der Index 1 der Methodenname. Wenn keine statische Klasse als Objekt instanziiert ist, ersetzen Sie zum Übergeben ihrer Methode den durch den Index des Arrays 0 angegebenen Objektnamen durch den Namen der Klasse.

Zusätzlich zu gewöhnlichen benutzerdefinierten Funktionen können Sie create_function auch verwenden, um eine anonyme Callback-Funktion zu erstellen.

Beispiel:

<?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. Pseudovariablen

$ in PHP... Es ist eine Pseudovariable, was usw. bedeutet. Dieser Variablenname wird verwendet, wenn eine Funktion eine beliebige Anzahl von Parametern akzeptieren kann.

Das obige ist der detaillierte Inhalt vonPseudotypen und Pseudovariablen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn