Maison >développement back-end >tutoriel php >Fonction PHP, fonction de paramètre standard et fonction de paramètre pseudo-type
Dans les fonctions PHP, les paramètres de la fonction sont les critères qui déterminent comment appliquer avec succès une fonction ou contrôler le comportement d'exécution d'une fonction. Il existe de nombreuses façons de configurer et d'appliquer des entrées de paramètres. Apprendre à déclarer des fonctions avec différents paramètres et à appeler avec succès des fonctions avec diverses formes d'entrées de paramètres est la clé de l'apprentissage des fonctions. Précédemment, nous avons présenté comment déclarer et appliquer diverses formes de fonctions php. Cette section présentera deux types de paramètres basés sur les caractéristiques des paramètres de fonction : fonction de paramètre régulière et fonction de paramètre de pseudo-type.
fonction de paramètre régulière php
fonction de paramètre normale, Autrement dit, les paramètres réels et les paramètres formels doivent être égaux en nombre et de type cohérent, tout comme l'utilisation de paramètres dans des langages fortement typés tels que C ou JAVA. Il est plus facile d'appeler ce type de fonction car elle n'est pas très flexible et a des exigences strictes comme un langage de classes fort (le nombre de paramètres est fixe et le type de chaque paramètre est également fixe).
La description du format de fonction des paramètres réguliers est similaire à la forme suivante :
example(name, age, height) // 常规参数的函数格式
En PHP, si vous déclarez une telle fonction, vous ne pouvez pas profiter de PHP en tant que langage faiblement typé . Par exemple, dans l'exemple de format de syntaxe de fonction des paramètres réguliers ci-dessus, une fonction nommée exemple est déclarée et une valeur de type chaîne est renvoyée après l'exécution de la fonction. Cette fonction a trois paramètres. Le nombre et l'ordre des paramètres passés lors de l'appel doivent être cohérents, et le premier paramètre doit être de type chaîne, le deuxième paramètre doit être de type entier et le troisième paramètre doit être de type double précision. Par exemple, la fonction permettant de trouver la somme des carrés de deux entiers dans une fonction personnalisée est une fonction avec des paramètres réguliers et nécessite deux paramètres entiers. Il existe de nombreuses fonctions système de ce type. Certaines fonctions système qui utilisent des paramètres réguliers sont les suivantes :
string chr(int ascii) // 必须使用一个整数作为参数 float ceil(float value) // 必须使用一个浮点数作为参数 array array_combine(array keys, array values) // 必须使用两个数组作为参数 int strnatcmp (string str1, string str2) // 必须使用两个字符串作为参数 string implode(string glue, array pieces) // 第一个参数必须是字符串,第二个参数必须是数组 string readdir(resource dir_handle) // 必须使用一个资源类型作为参数
Fonctions de paramètres de pseudo-type PHP
PHP est un langage faiblement typé. Non seulement vous n'avez pas besoin de spécifier un type lors de la déclaration d'une variable, mais vous n'avez pas non plus besoin de spécifier un type lors de la déclaration d'une fonction. Par conséquent, chaque paramètre d'une fonction en PHP peut le faire. transmettez-lui n’importe quel type de valeur. Le typage faible étant la plus grande fonctionnalité du langage PHP, lors de la déclaration d’une fonction, le même paramètre peut accepter n’importe quel type de valeur. Dans les langages de programmation fortement typés comme C ou JAVA, si vous souhaitez déclarer une méthode de tri des tableaux, vous devez écrire une méthode de tri pour chaque type de tableau. C'est ce qu'on appelle la surcharge de fonctions. Il n'y a pas de concept de surcharge pour les paramètres de type faibles en PHP. En PHP, si vous souhaitez trier des tableaux de différents types, il suffit de déclarer une fonction. Les fonctions avec des paramètres de pseudo-type sont donc la forme la plus courante d'application de fonction en PHP. La description du format de fonction des paramètres de pseudo-type
est similaire à ce qui suit :
mixed funName (mixed $args) // 在参数列表中出现类型使用 mixed 描述的参数 number funName (number $args) // 在参数列表中出现类型使用 number 描述的参数
Les pseudo-types PHP incluent mixte, nombre et rappel. Lors de la déclaration d'une fonction, si un paramètre peut accepter plusieurs types de valeurs différents, mais pas nécessairement tous, vous pouvez utiliser Mixed pour marquer le type de paramètre dans la documentation de la fonction. Si vous spécifiez qu'un paramètre peut être de type entier ou à virgule flottante, vous pouvez utiliser un nombre pour marquer le paramètre. En plus des paramètres pouvant transmettre des paramètres de pseudo-type, la valeur de retour d'une fonction peut également renvoyer différents types de valeurs selon différents types de paramètres, tels que empty(), pow(), etc.
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.
Voici un exemple simple :
<?php $data = array("name"=>"callback" , "value"=>"test"); $rs1 = http_build_query($data); //直接调用php函数 $rs2 = call_user_func("http_build_query",$data); //使用回调函数 echo $rs1; //name=callback&value=test echo "<br />"; echo $rs2; //name=callback&value=test ?>
Remarque : Ce qu'il faut noter ici est que le paramètre 1 doit être une fonction utilisable qui peut être renvoyée via function_exists () Véritable fonction, voici un rappel que les fonctions couramment utilisées telles que isset, empty, is_null, etc. sont en fait un opérateur. Elles ne peuvent pas être comptées comme des fonctions.
【Tutoriels associés recommandés】
1. "php.cn Dugu Jiujian (4) - Tutoriel vidéo PHP "
2. Un ensemble complet de tutoriels vidéo sur la programmation PHP de l'entrée à la maîtrise
Tutoriels vidéo pratiques PHP.
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!