Explication détaillée d'exemples de fonctions anonymes et de précautions en PHP

怪我咯
Libérer: 2023-03-11 17:32:02
original
850 Les gens l'ont consulté

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 suivant

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

Désormais, pratiquement toutes les versions après PHP5.3 sont utilisées, mais il semble qu'un phénomène courant est que de nombreuses nouvelles fonctionnalités n'ont pas été entièrement popularisées après si longtemps, et sont rarement utilisés dans les projets.

Regardez les fonctions anonymes PHP :

'test' => function(){
  return 'test'
},
Copier après la connexion
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(&#39;~-([a-z])~&#39;, function ($match) {
 return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>
Copier après la connexion
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(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>
Copier après la connexion
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 = &#39;hello&#39;
// 没有 "use"
$example = function () {
 var_dump($message);
};
echo $example();
// 继承 $message
$example = function () use($message) {
 var_dump($message);
};
echo $example();
// Inherited variable&#39;s value is from when the function
// is defined, not when called
$message = &#39;world&#39;echo $example();
// Reset message
$message = &#39;hello&#39;
// 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 = &#39;world&#39;echo $example();
// Closures can also accept regular arguments
$example = function ($arg) use($message) {
 var_dump($arg . &#39; &#39; . $message);
};
$example("hello");
?>
Copier après la connexion

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();
Copier après la connexion
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"; 
};
Copier après la connexion

Ces deux sont imprimés aa;

function callback(){ 
 return "aa"; 
} 
echo callback(); //aa 
 
echo callback(); //aa 
function callback(){ 
 return "aa"; 
}
Copier après la connexion
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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!