Maison > développement back-end > tutoriel php > Comment stocker des fonctions dans des tableaux PHP ?

Comment stocker des fonctions dans des tableaux PHP ?

Susan Sarandon
Libérer: 2024-11-03 09:56:02
original
603 Les gens l'ont consulté

How to Store Functions in PHP Arrays?

Stockage de fonctions dans des tableaux PHP

Le stockage de fonctions dans des tableaux PHP permet plus de flexibilité et une exécution de code dynamique. Cependant, la syntaxe fournie dans la question est obsolète et n'est pas recommandée.

Fonctions anonymes

La méthode la plus préférée consiste à utiliser des fonctions anonymes :

<code class="php">$functions = [
  'function1' => function ($echo) {
        echo $echo;
   }
];</code>
Copier après la connexion

Noms de fonctions déclarés

Si la fonction a déjà été déclarée, vous pouvez simplement utiliser son nom sous forme de chaîne :

<code class="php">function do_echo($echo) {
    echo $echo;
}

$functions = [
  'function1' => 'do_echo'
];</code>
Copier après la connexion

Pré- PHP 5.3

Si vous utilisez des versions PHP antérieures à 5.3, vous pouvez recourir à create_function() :

<code class="php">$functions = array(
  'function1' => create_function('$echo', 'echo $echo;')
);</code>
Copier après la connexion

Utilisation

Peu importe de la méthode choisie, les fonctions peuvent être appelées directement ou en utilisant call_user_func() ou call_user_func_array() :

<code class="php">$functions['function1']('Hello world!');

call_user_func($functions['function1'], 'Hello world!');</code>
Copier après la connexion

Remarque : Pour les versions PHP inférieures à 5.3, pensez à passer à une version ultérieure version pour une fonctionnalité et une sécurité améliorées.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal