Maison  >  Article  >  développement back-end  >  Les connaissances introductives que vous devez maîtriser en PHP

Les connaissances introductives que vous devez maîtriser en PHP

零下一度
零下一度original
2017-06-23 13:50:301203parcourir

Introduction de base à PHP (3) --- Fonctions

. Avec la compréhension des deux premiers chapitres, chacun doit avoir une certaine compréhension de base de PHP. Les amis qui souhaitent revoir les deux premiers chapitres peuvent cliquer sur "Introduction de base à PHP (1)" et "Basique Introduction à PHP (1)" 2) " Accédez à la page pour revoir les bases de PHP.

*** 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 ↓↓↓

1Déclaration et utilisation des fonctions

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.
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.

2. function_exists("func1"); utilisé pour détecter si la fonction a été déclarée
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

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.
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.

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[] :
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ù

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
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.

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.
Par exemple, dans l'exemple ci-dessus, func($a1,$a2); √ func($a1,2); ×

6. L’utilisation de require avec include n’affecte pas la portée.

TroisVariables statiques

1. static $num = 10;
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

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,
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_num_args());//Le nombre total de paramètres renvoyés est équivalent In count(func_get_args());
var_dump(func_get_arg(0));//Renvoyer chaque paramètre selon l'indice

Cinq

Fonction variable

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

1. Utiliser les fonctions variables et personnaliser les fonctions de rappel
fonction func($func){$func();}--->fonction f(){}--->func("f");

2. Utilisez call_user_func_array et call_user_func pour personnaliser la fonction de rappel
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);

sept

Fonction anonymeEn raison de la fonction variable, il y a plusieurs appelants lors de l'appel (func()/$func();)

Ainsi, afin de rendre les appels de fonctions plus uniformes, des fonctions anonymes ont été créées ! ! !
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();

Code démo :

include&require

1、两者的作用,都是用于引入外部的PHP文件到当前文件中。

2、两者的区别:当引用文件错误时,include会产生警告,并不影响后续代码执行。
而require会产生致命错误,后续代码全部不再执行。

3、一般,当用于在文件最上方导入某些文件时,使用require导入,如果导入失败,则不再执行文件;
而如果是在某些分支条件中,导入执行某些操作,则一般使用include。一旦报错,不影响其他分支功能。

4、include_once和require_once表示:文件只能导入一次,如果多次调用此函数,则后面的语句会判断文件是否导入。
再决定是否导入新文件。
(检测文件是否导入时,只关心文件是否已经导入,并不关心是否以何种方式导入的)
include("test.txt");
require_once "test.txt";//由于include进来了,require不再导入。

5、include和require可以导入各种类型的文件。
相当于在当前文件copy了一份,但是copy过程中,PHP引擎会进行适当的编译,确保不会出错。

6、include和require是函数,也是指令!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闭包

在PHP中,子函数无法直接访问父函数的局部变量,必须使用User关键词向下传递!!!

 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!

Déclaration:
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