Types et méthodes d'appel des fonctions PHP révélés

天蓬老师
Libérer: 2023-03-07 16:54:02
original
2268 Les gens l'ont consulté

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 C'est aussi le type le plus connu, par exemple :

<?php
//1按名调用:最直接和普通的方式echo 
&#39;1.用function关键字创建常规函数,按函数名称调用:<br>';
function add($a, $b){return $a.'+'.$b.'='.($a+$b);};
echo add(5,6);
echo '<hr>';
Copier après la connexion

L'exécution renvoie :

1.用function关键字创建常规函数,按函数名称调用:
5+6=11
Copier après la connexion
2. Fonctions avec des noms définis dynamiquement :

Ce type de fonction a de nombreux noms, tels que : fonction anonyme, fonction variable, fonction variable, fonction de fermeture, etc. En fait, elles sont tous pareils. Ne soyez pas effrayé par le nom.

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 si vous n'êtes pas satisfait de la réglementation, alors créez un langage de programmation~~

//2.用系统函数create_function()来创建一个匿名函数/可变函数/变量函数/闭包函数echo 
'2.用内置create_function()函数创建匿名函数,用变量名调用:<br>';
$func1 = create_function('$a,$b','return $a.\'+\'.$b.\'=\'.($a+$b);');
echo $func1(5,6);
echo '<hr>';
Copier après la connexion
L'exécution renvoie :

2.用内置create_function()函数创建匿名函数,用变量名调用:
5+6=11
Copier après la connexion
2. Méthode de création 2 : Utiliser. le mot-clé de fonction pour créer, Le processus de création est le même que celui d'une fonction normale, sauf qu'il apparaît à la position de la valeur, qui est à droite du signe égal '='. Attribuez l'intégralité de la fonction créée à une variable ;

//3匿名函数:也叫闭包函数,将函数做为值赋给一个变量echo
'3.用function关键字创建匿名函数,用变量名调用:<br>';
$func2 = function ($a, $b){return $a.'+'.$b.'='.($a+$b);};
echo $func2(5,6);
echo '<hr>';
Copier après la connexion
l'exécution renvoie :

3.用function关键字创建匿名函数,用变量名调用:
5+6=11
Copier après la connexion
3. Il n'y a pas de nom de fonction Après la création, transmettez directement les paramètres et appelez l'exécution :

Ce type de fonction est très similaire à une fonction anonyme, mais elle est plus grossière, une fois créée, elle est mise entre parenthèses et passée dans les paramètres pour l'appeler. Par conséquent, ce type de fonction n'a pas besoin de nom. du tout et est une fonction ponctuelle. Tout comme un article jetable, jetez-le après utilisation.

L'exécution renvoie :
//4自执行函数:创建完立即执行不必明示调用
echo '4.用function关键字创建匿名函数,然后直接传参调用执行:<br>';
echo (function ($a,$b){return $a.'+'.$b.'='.($a+$b);})(5,6);  
//自运行的匿名函数
Copier après la connexion

Résumé (très important, à lire absolument) :
4.用function关键字创建匿名函数,然后直接传参调用执行:
5+6=11
Copier après la connexion

En php, l'utilisation des fonctions est encore très souple, mais non Peu importe Comment, le fonctionnement, en dernière analyse, est toujours un processus. 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 donnera une compréhension plus approfondie des fonctions~~

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal