Wie kann ich Funktionen effektiv in PHP-Arrays speichern?

Linda Hamilton
Freigeben: 2024-11-01 08:06:02
Original
939 Leute haben es durchsucht

How can I store functions in PHP arrays effectively?

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; }
];
Nach dem Login kopieren

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
];
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!