Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der PHP-Pseudotypen

Detaillierte Erklärung der PHP-Pseudotypen

小云云
小云云Original
2018-03-02 09:37:111919Durchsuche

PHP-Pseudotypen (Pseudotypen) werden in PHP-Dokumenten verwendet, um die Typen und Werte anzugeben, die Parameter verwenden können. Bitte beachten Sie, dass es sich hierbei nicht um native Typen in der PHP-Sprache handelt. Daher können Pseudotypen nicht für Typeinschränkungen (Typehint) in benutzerdefinierten Funktionen verwendet werden.

gemischt

gemischt gibt an, dass ein Parameter mehrere verschiedene (aber nicht unbedingt alle) Typen akzeptieren kann.
gettype() kann beispielsweise alle PHP-Typen akzeptieren, str_replace() kann Strings und Arrays akzeptieren.

Zahl

Zahl gibt an, dass ein Parameter eine Ganzzahl oder eine Gleitkommazahl sein kann.

Callback

Der Callback-Pseudotyp wurde verwendet, bevor der Callable-Typ in PHP 5.4 eingeführt wurde. Beide haben genau die gleiche Bedeutung.

Einige Funktionen wie call_user_func() oder usort() können benutzerdefinierte Callback-Funktionen als Parameter akzeptieren. Die Rückruffunktion kann nicht nur eine einfache Funktion sein, sondern auch eine Objektmethode, einschließlich statischer Klassenmethoden.
Zum Beispiel kann die Funktion call_user_func() eine benutzerdefinierte Funktion als Parameter empfangen, bei der es sich um eine integrierte Funktion von PHP handelt. 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 als Funktionsnamenszeichenfolge übergeben, mit Ausnahme von Sprachstrukturen wie array(), echo(), empty(), eval(), exit(), isset (),list(),print(),unset() usw.
Beispiele finden Sie hier

//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

array|object bedeutet, dass der Parameter entweder ein Array oder ein Objekt sein kann.

void

void als Rückgabetyp bedeutet, dass der Rückgabewert der Funktion nutzlos ist. void als Parameterliste bedeutet, dass die Funktion keine Parameter akzeptiert.

In Funktionsprototypen bedeutet $… usw. Verwenden Sie diesen Variablennamen, wenn eine Funktion eine beliebige Anzahl von Parametern akzeptieren kann.

<?phpfunction sum(...$numbers) {
    $acc = 0;    foreach ($numbers as $n) {        $acc += $n;
    }    return $acc;
}echo sum(1, 2, 3, 4);?>

Verwandte Empfehlungen:

Pseudotypen und Pseudovariablen in PHP

Allgemeine Parameterfunktionen von PHP Funktionen und Pseudotyp-Parameterfunktionen

Pseudotypen in PHP

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP-Pseudotypen. 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