Heim > Artikel > Backend-Entwicklung > Wie kann ich Funktionen effektiv in PHP-Arrays speichern?
Funktionen in PHP-Arrays speichern
Es stellt sich die Frage, ob es möglich ist, Funktionen innerhalb von PHP-Arrays zu speichern. Bedenken Sie zum Beispiel Folgendes:
$functions = [ 'function1' => function($echo) { echo $echo; } ];
Ist das ein praktikabler Ansatz? Wenn nicht, welche sind die empfohlenen Alternativen?
Empfohlener Ansatz: Anonyme Funktionen
Die bevorzugte Methode zum Speichern von Funktionen in Arrays umfasst die Verwendung anonymer Funktionen. Wie im obigen Beispiel können sie inline definiert werden:
$functions = [ 'function1' => fn($echo) => $echo ];
Referenzierung externer Funktionen
Beim Umgang mit vordeklarierten Funktionen können Sie sie namentlich als referenzieren Zeichenfolgen:
<code class="php">function do_echo($echo) { echo $echo; } $functions = [ 'function1' => 'do_echo' ];</code>
Legacy-Methode (PHP < 5.3): create_function
Für ältere Versionen von PHP, die keine anonymen Funktionen unterstützen, kann das Konstrukt create_function sein eingesetzt:
<code class="php">$functions = [ 'function1' => create_function('$echo', 'echo $echo;') ];<p><strong>Aufrufen gespeicherter Funktionen</strong></p> <p>Unabhängig von der zum Speichern der Funktion verwendeten Methode kann sie direkt (PHP >= 5.4) oder über aufgerufen werden 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>
Zusammenfassend sind anonyme Funktionen der empfohlene Ansatz zum Speichern von Funktionen in PHP-Arrays, wobei String-Referenzen für vordeklarierte Funktionen verwendet werden und create_function für ältere PHP-Versionen verfügbar ist.
Das obige ist der detaillierte Inhalt vonWie kann ich Funktionen effektiv in PHP-Arrays speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!