Maison >développement back-end >tutoriel php >Explication détaillée d'exemples de fonctions anonymes et de précautions en PHP
Cet article présente et explique principalement PHPfonctions anonymes et notes en détail. Les fonctions anonymes ont été introduites dans PHP5.3. Les amis qui souhaitent apprendre les fonctions anonymes peuvent pour référence
php5.3 introduit non seulement des fonctions anonymes, mais propose également de nombreuses nouvelles fonctionnalités améliorées. Jetons un coup d'œil aux fonctions anonymes et aux précautions de PHP. Le contenu spécifique est le suivantPHP5.2 avant. : chargement automatique, PDO et MySQLi, contraintes de type
PHP5.2 : Support JSON
PHP5.3 : Fonctionnalité obsolète, fonction anonyme, nouvelle méthode magique, espace de noms, liaison statique tardive, Heredoc et Nowdoc, const, opérateur ternaire opérateur, Phar
PHP5.4 : Short Open Balise, abréviation du tableau, traits, serveur Web intégré, détails modifiés
PHP5.5 : rendement, list() utilisé pour foreach, détails modifiés
PHP5.6 : amélioration constante, variable paramètre de fonction , amélioration de l'espace de noms
'test' => function(){ return 'test' },La définition des fonctions anonymes PHP est très simple, il s'agit d'attribuer une valeur à une variable, mais cette valeur est une fonction. Ce qui précède utilise le framework Yii pour configurer le fichier de composants et ajouter une configuration de test.
Que sont les fonctions anonymes PHP ?
Voir l'explication officielle :Les fonctions anonymes, sont aussi appelées fermetures, permettant la création temporaire d'une fonction sans nom précisé. La valeur la plus couramment utilisée comme argument de fonction de rappel. Bien entendu, il existe également d’autres applications.
Exemple de fonction anonyme<?php echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); // 输出 helloWorld ?>Les fonctions de fermeture peuvent également être utilisées comme valeur de variables. PHP convertira automatiquement cette expression en une instance d'objet de la classe intégrée Closure. La méthode d'affectation d'un objet de fermeture à une variable est la même que la syntaxe d'affectation de variable ordinaire, et un point-virgule est également ajouté à la fin : Exemple d'affectation de variable de fonction anonyme
<?php $greet = function($name) { printf("Hello %s\r\n", $name); }; $greet('World'); $greet('PHP'); ?>Les variables de fermeture peuvent être héritées de la portée parent. Toutes ces variables doivent être transmises à l’aide de la construction du langage use. Hériter les variables de la portée parent
<?php $message = 'hello' // 没有 "use" $example = function () { var_dump($message); }; echo $example(); // 继承 $message $example = function () use($message) { var_dump($message); }; echo $example(); // Inherited variable's value is from when the function // is defined, not when called $message = 'world'echo $example(); // Reset message $message = 'hello' // Inherit by-reference $example = function () use(&$message) { var_dump($message); }; echo $example(); // The changed value in the parent scope // is reflected inside the function call $message = 'world'echo $example(); // Closures can also accept regular arguments $example = function ($arg) use($message) { var_dump($arg . ' ' . $message); }; $example("hello"); ?>
Notes sur les fonctions anonymes en php
Après php5.3, php ajoute l'anonymat L'utilisation des fonctions , une erreur s'est produite lors de l'utilisation d'anonyme aujourd'hui. Vous ne pouvez pas le déclarer et l'utiliser comme une fonction PHP. Regardez le code en détail$callback=function(){ return "aa"; }; echo $callback();et il s'imprimera sous la forme aa ; à l'exemple suivant :
Une erreur a été signalée à ce moment ! $callback n'est pas déclaré, mais aucune erreur ne sera signalée lors de l'utilisation de fonctions déclarées par PHP lui-même !
echo $callback(); $callback=function(){ return "aa"; };
Ces deux sont imprimés aa;
function callback(){ return "aa"; } echo callback(); //aa echo callback(); //aa function callback(){ return "aa"; }Lors de l'utilisation de fonctions anonymes, les fonctions anonymes sont utilisées comme variables et doivent être déclarées à l'avance. La même chose est vraie en js ! ! ! ! ! Ce qui précède présente les fonctions anonymes et les précautions PHP qui vous ont été présentées. J'espère que cela sera utile à votre étude.
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!