Maison > Article > développement back-end > Explication détaillée des pseudo-types php
Les pseudo-types PHP (pseudo-types) sont utilisés dans les documents PHP pour indiquer les types et les valeurs que les paramètres peuvent utiliser. Veuillez noter qu'il ne s'agit pas de types natifs dans le langage PHP. Par conséquent, les pseudo-types ne peuvent pas être utilisés pour les contraintes de type (typehint) dans les fonctions personnalisées.
mixed indique qu'un paramètre peut accepter plusieurs types différents (mais pas nécessairement tous).
Par exemple, gettype() peut accepter tous les types PHP, str_replace() peut accepter des chaînes et des tableaux.
numéro indique qu'un paramètre peut être entier ou flottant.
Le pseudo-type callback a été utilisé avant l'introduction du type callable dans PHP 5.4. Les deux ont exactement la même signification.
Certaines fonctions telles que call_user_func() ou usort() peuvent accepter des fonctions de rappel définies par l'utilisateur comme paramètres. La fonction de rappel peut être non seulement une fonction simple, mais également une méthode objet, y compris des méthodes de classe statique.
Par exemple, la fonction call_user_func() peut recevoir une fonction définie par l'utilisateur en tant que paramètre, qui est une fonction intégrée de PHP. La fonction de rappel peut être non seulement une fonction, mais aussi une méthode d'objet et une méthode d'une classe statique. Une fonction PHP est transmise sous forme de chaîne de nom de fonction. Toute fonction intégrée ou définie par l'utilisateur peut être transmise, à l'exception des structures de langage telles que array(), echo(), empty(), eval(), exit(), isset. () ,list(),print(),unset(), etc.
Pour des exemples, veuillez vous référer ici
//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 signifie que le paramètre peut être soit un tableau, soit un objet.
void comme type de retour signifie que la valeur de retour de la fonction est inutile. void en tant que liste de paramètres signifie que la fonction n'accepte aucun paramètre.
Dans les prototypes de fonctions, $… signifie etc. Utilisez ce nom de variable lorsqu'une fonction peut accepter n'importe quel nombre de paramètres.
<?phpfunction sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; }echo sum(1, 2, 3, 4);?>
Recommandations associées :
Pseudo-types et pseudo-variables en PHP
Fonctions de paramètres généraux de PHP fonctions et fonctions de paramètres de pseudo-type
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!