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' },
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 ?>
<?php $greet = function($name) { printf("Hello %s\r\n", $name); }; $greet('World'); $greet('PHP'); ?>
<?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();
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"; }
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!