*** Mots clés de ce chapitre : déclaration et utilisation des fonctions ; portée des variables en PHP ; Variables statiques ; transfert de paramètres de fonctions ; fonctions de rappel ; fonctions anonymes ; inclure des fermetures PHP Maintenant, jetons un œil aux bases des fonctions PHP ↓↓↓ 1. Le nom de la fonction est l'un des identifiants. Il ne peut contenir que des chiffres, des lettres et des traits de soulignement, et ne peut pas commencer par des chiffres. 2. function_exists("func1"); utilisé pour détecter si la fonction a été déclarée 1. Variables locales : Les variables déclarées à l'intérieur d'une fonction sont appelées variables locales. Il ne peut être utilisé qu'à l'intérieur de la fonction. Il doit être utilisé en dehors de la fonction. Vous devez utiliser le mot-clé return dans la fonction pour retourner. Si le nom de la variable dans la fonction est répété avec la variable globale, au-dessus de l'instruction globale, c'est la variable locale de la fonction ; en dessous de l'instruction globale, c'est la variable globale du système. 4. Tableau global $GLOBALS[] : 5. Il existe une autre façon d'utiliser des variables globales dans une fonction : en passant des paramètres à la fonction, vous pouvez utiliser des variables globales à l'intérieur de la fonction Si le symbole d'adresse apparaît dans le paramètre formel de la fonction, alors lors de l'appel de la fonction, le paramètre réel doit être une variable, pas un littéral. 6. L’utilisation de require avec include n’affecte pas la portée. 1. static $num = 10; 1. En PHP, lorsqu'il s'agit de passage de paramètres : la liste de paramètres réelle ne peut être que supérieure aux paramètres formels, var_dump(func_num_args());//Le nombre total de paramètres renvoyés est équivalent In count(func_get_args()); 1. Utiliser les fonctions variables et personnaliser les fonctions de rappel 2. Utilisez call_user_func_array et call_user_func pour personnaliser la fonction de rappel sept Ainsi, afin de rendre les appels de fonctions plus uniformes, des fonctions anonymes ont été créées ! ! ! Code démo :
1、两者的作用,都是用于引入外部的PHP文件到当前文件中。 2、两者的区别:当引用文件错误时,include会产生警告,并不影响后续代码执行。 3、一般,当用于在文件最上方导入某些文件时,使用require导入,如果导入失败,则不再执行文件; 4、include_once和require_once表示:文件只能导入一次,如果多次调用此函数,则后面的语句会判断文件是否导入。 5、include和require可以导入各种类型的文件。 6、include和require是函数,也是指令!PHP对于很多常用函数会提供指令的写法。 在PHP中,子函数无法直接访问父函数的局部变量,必须使用User关键词向下传递!!! 1Déclaration et utilisation des fonctions
La dénomination des noms de fonctions doit respecter la « règle du petit chameau » : myNameIsXiaoxi my_name_is_xiaoxi
Les noms de fonctions ne sont pas sensibles à la casse. func() Func() FUNC() peut être
Le nom de la fonction ne peut pas être le même que le nom de la fonction existante ou le nom de la fonction système.
Remarque : le nom de la fonction transmis doit être un ; Format de chaîne : le résultat renvoyé est vrai/faux. IIPortée des variables en PHP
2. Variables globales : Les variables en dehors de la fonction déclarée sont appelées variables globales.
3. Dans les fonctions, les variables sont utilisées et les variables locales internes sont utilisées par défaut. Si vous devez utiliser des variables globales dans une fonction, vous devez utiliser le mot-clé global et référencer la variable globale à la fonction avant de pouvoir l'utiliser.
Le tableau $GLOBALS[] est un tableau global intégré par PHP. Vous pouvez l'ajouter directement à. le tableau, qu'elles soient déclarées à l'intérieur ou à l'extérieur d'une fonction, peuvent être utilisées directement n'importe où.
$GLOBALS["a"] = 10; ---> echo $GLOBALS["a"];//Utiliser directement n'importe où
Cependant, les paramètres passés sont des variables locales de la fonction ; , Changement interne, l'extérieur ne changera pas.
Sauf que le paramètre passé soit l'adresse function func($a1,&$a2){} //Si a1 est modifié en interne dans la fonction, le global a1 ne changera pas si a2 est modifié. en interne dans la fonction, le global a2 ne changera pas.
Par exemple, dans l'exemple ci-dessus, func($a1,$a2); √ func($a1,2); ×TroisVariables statiques
2. Caractéristiques des variables statiques :
>>>
>>> Les variables statiques ne seront pas libérées immédiatement après l'utilisation de la fonction. Les variables statiques ne seront déclarées qu'une seule fois pendant tout le processus d'exécution du script.
>>>La même fonction, appelée plusieurs fois, partage la même variable statique. QuatrePassage de paramètres de fonction
2. Passage de paramètres conventionnel : function func($a){. } func($ a);
3. Passer des paramètres par référence : function func(&$a){} func($a); par &, fonction Modifier les variables en interne et changer de manière synchrone en dehors de la fonction
②Les paramètres formels sont des paramètres de référence, les paramètres réels ne peuvent être que des variables, pas des littéraux func(10); 🎜> 4. Paramètres par défaut : function func($b,$a=10){} func(20);
Erreur non définie lors de l'utilisation.
S'il y a à la fois des paramètres par défaut et des paramètres non par défaut dans les paramètres, alors la liste des paramètres par défaut
doit être après la liste des paramètres non par défaut, c'est-à-dire , il faut s'en assurer lors de l'appel de la priorisation des listes autres que celles par défaut.
5. Liste des paramètres variables : étant donné que PHP peut avoir plus de paramètres réels que de paramètres formels, nous pouvons transmettre N paramètres réels et obtenir les paramètres correspondants via les fonctions intégrées de PHP.
var_dump(func_get_args());//Obtenir toutes les listes de paramètres (tableaux)
var_dump(func_get_arg(0));//Renvoyer chaque paramètre selon l'indice
Cinq
1. Après avoir converti un nom de fonction en chaîne, attribuez Donnez un. variable. Cette variable est ce que nous appelons une fonction variable, et vous pouvez ajouter () pour appeler le contenu de la fonction. function func(){}--->$fun = "func";--->$func();
SixFonction de rappel
fonction func($func){$func();}--->fonction f(){}--->func("f");
Le premier paramètre des deux fonctions est une fonction de rappel, indiquant l'exécution du rappel en cours.
La différence est : le deuxième paramètre de call_user_func_array() est un tableau, et chaque valeur du tableau est affectée à la liste de paramètres de la fonction de rappel, ce qui équivaut à apply() en JS ;
Et call_user_func consiste à développer et à écrire directement la liste des paramètres de la fonction de rappel dans le deuxième ~ plusieurs paramètres, ce qui équivaut à call() en JS
par exemple : call_user_func_array ("func",array(1,2,3));
--> call_user_func("func ",1,2,3); --> func(1,2,3);
Fonction anonymeEn raison de la fonction variable, il y a plusieurs appelants lors de l'appel (func()/$func();)
Pour déclarer une fonction anonyme, le point-virgule après le corps de la fonction est indispensable !
La fonction anonyme elle-même est également une variable et est détectée comme type d'objet à l'aide de var_dump();八include&require
而require会产生致命错误,后续代码全部不再执行。
而如果是在某些分支条件中,导入执行某些操作,则一般使用include。一旦报错,不影响其他分支功能。
再决定是否导入新文件。
(检测文件是否导入时,只关心文件是否已经导入,并不关心是否以何种方式导入的)
include("test.txt");
require_once "test.txt";//由于include进来了,require不再导入。
相当于在当前文件copy了一份,但是copy过程中,PHP引擎会进行适当的编译,确保不会出错。
eg:echo("11");//函数写法 echo"11";//指令写法
演示代码:1 $num = true;2 if($num){3 include'functionDate.php';4 //require "functionDate.php";5 func1();6 func2();7 func3();8 }9 echo "haha";
九PHP闭包
1 $a = 12; 2 function func1(){ 3 $num = 10; 4 $num1 = 11; 5 $func2 = function() use($num,$num1){//使用use关键词传递父函数局部变量 6 global $a; 7 var_dump($a); 8 var_dump($num); 9 var_dump($num1);10 };11 return $func2;12 }13 $f = func1();14 $f($num);
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!