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

Comment stocker des fonctions dans un tableau en PHP ?

Susan Sarandon
Libérer: 2024-11-02 16:33:03
original
676 Les gens l'ont consulté

How Do You Store Functions in an Array in PHP?

Exploration du stockage de fonctions dans des tableaux en PHP

PHP propose plusieurs options pour stocker des fonctions dans des tableaux, chacune avec ses propres implications.

Fonctions anonymes

L'approche privilégiée consiste à utiliser des fonctions anonymes :

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

Les fonctions anonymes vous permettent de définir une fonction sur le- fly, sans la déclarer au préalable.

Référencement des fonctions nommées

Si vous souhaitez stocker une fonction existante, vous pouvez la référencer par 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

Cette méthode implique de déclarer la fonction en dehors du tableau.

Approche héritée (PHP < 5.3)

Pour les anciennes versions de PHP qui le font ne prend pas en charge les fonctions anonymes, vous pouvez utiliser create_function :

<code class="php">$functions = array(
  'function1' => create_function('$echo', 'echo $echo;')
);<p>Cependant, cette approche est obsolète et doit être évitée si possible.</p>
<p><strong>Invocation de fonctions stockées</strong></p> <p>Quelle que soit la méthode de stockage utilisée, vous pouvez appeler les fonctions directement (PHP >= 5.4) ou avec call_user_func/call_user_func_array :</p>
<pre class="brush:php;toolbar:false"><code class="php">$functions['function1']('Hello world!');

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

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