Les fonctions en PHP semblent très simples, mais en fait elles sont très puissantes. Je peux les diviser en trois catégories suivantes selon que les noms de fonctions sont fixes :
Fonctions avec des noms fixes :
Ce type de fonction, également appelé : fonction régulière, est créé directement à l'aide du mot-clé function, et est également le type le plus connu. Par exemple :
<?php
//1按名调用:最直接和普通的方式
echo '1.用function关键字创建常规函数,按函数名称调用:<br>';
function add($a, $b){
return $a.'+'.$b.'='.($a+$b);
};
echo add(5,6);
echo '<hr>';
L'exécution renvoie :
1. Utilisez le mot-clé function pour créer une fonction régulière et appelez-la par son nom de fonction :
5+6=11
2. Fonctions avec des noms définis dynamiquement :
Il existe de nombreux noms pour ce type de fonction, tels que : Les fonctions anonymes, les fonctions variables, les fonctions variables, les fonctions de fermeture, etc. sont en fait toutes identiques. Ne vous laissez pas intimider par les noms.
Cette fonction définie dynamiquement est appelée en utilisant le nom de variable qui fait référence à cette fonction, elle est donc très appropriée pour une utilisation dans les fonctions de rappel~~
À des fins pédagogiques, j'y ferai collectivement référence ici comme : Fonction anonyme.
Il existe deux manières principales de créer des fonctions anonymes. Certains manuels en parlent séparément, je vais donc les séparer ici.
1. Méthode de création 1 : utilisez la fonction create_function (liste de paramètres, corps de la fonction) intégrée à PHP pour terminer. Cette fonction a deux paramètres. Ces deux paramètres doivent être placés entre guillemets. , c'est comme ça que PHP est stipulé. Si vous n'êtes pas satisfait, alors créez un langage de programmation ~~
<?php
//2.用系统函数create_function()来创建一个匿名函数/可变函数/变量函数/闭包函数
echo '2.用内置create_function()函数创建匿名函数,用变量名调用:<br>';
$func1 = create_function('$a,$b','return $a.\'+\'.$b.\'=\'.($a+$b);');
echo $func1(5,6);
echo '<hr>';
L'exécution renvoie :
2. ) pour créer une fonction anonyme et l'appeler avec le nom de la variable :
5+6=11
2. Méthode de création deux : utilisez le mot-clé function pour créer. fonction régulière. La différence est qu'elle apparaît à la position de la valeur, c'est-à-dire '=' à droite du signe égal. Attribuez l'intégralité de la fonction créée à une variable ;
<?php
//3匿名函数:也叫闭包函数,将函数做为值赋给一个变量
echo '3.用function关键字创建匿名函数,用变量名调用:<br>';
$func2 = function ($a, $b){
return $a.'+'.$b.'='.($a+$b);
};
echo $func2(5,6);
echo '<hr>';
l'exécution renvoie :
3 Utilisez le mot-clé function pour créer une fonction anonyme et appelez-la avec le nom de la variable :
5. +6 =11
3. Il n'y a pas de nom de fonction. Après la création, vous pouvez directement passer des paramètres et appeler pour exécution :
Ce type de fonction est similaire aux fonctions anonymes, mais plus grossière. . Créez-le directement avec des parenthèses, vous pouvez l'appeler en passant les paramètres, donc ce type de fonction n'a pas du tout besoin de nom et est une fonction unique. Tout comme un article jetable, jetez-le après utilisation.
<?php//4自执行函数:创建完立即执行不必明示调用echo '4.用function关键字创建匿名函数,然后直接传参调用执行:<br>';//自运行的匿名函数echo (function ($a,$b){return $a.'+'.$b.'='.($a+$b);})(5,6);
L'exécution renvoie :
4 Utilisez le mot-clé function pour créer une fonction anonyme, puis transmettez directement les paramètres et appelez l'exécution :
5+6. =11
Résumé (très important, à lire absolument) :
En PHP, l'utilisation des fonctions est encore très flexible, mais quoi qu'il en soit, les fonctions sont toujours un processus de traitement dans l'analyse finale. En même temps, il doit y avoir une valeur de retour pour que les utilisateurs puissent percevoir son existence et sa valeur !
Ainsi, une fonction est toujours utilisée comme valeur. Par conséquent, elle ne peut pas apparaître à gauche du signe égal '='. C'est la plus grande différence entre les fonctions et les structures du langage.
Par exemple, on dit souvent : echo() et list() sont une structure de langage, pas une fonction Bien qu'elles ressemblent à des fonctions, c'est parce qu'elles peuvent être placées à gauche du signe égal. et sont acceptables. Mais les fonctions ne fonctionnent pas. J'espère que cet article vous permettra de mieux comprendre les fonctions ~~
Source de l'article : http://peter.php.cn/blog/detail/188.html