Heim >Backend-Entwicklung >PHP-Tutorial >Wie speichert man Funktionen in einem Array in PHP?

Wie speichert man Funktionen in einem Array in PHP?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 16:33:03636Durchsuche

How Do You Store Functions in an Array in PHP?

Array-Speicherung von Funktionen in PHP erkunden

PHP bietet mehrere Optionen zum Speichern von Funktionen in Arrays, jede mit ihren eigenen Auswirkungen.

Anonyme Funktionen

Der bevorzugte Ansatz ist die Verwendung anonymer Funktionen:

<code class="php">$functions = [
  'function1' => function ($echo) {
        echo $echo;
   }
];</code>

Anonyme Funktionen ermöglichen es Ihnen, eine Funktion direkt zu definieren. fliegen, ohne es vorher zu deklarieren.

Referenzieren benannter Funktionen

Wenn Sie eine vorhandene Funktion speichern möchten, können Sie sie namentlich als Zeichenfolge referenzieren:

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

$functions = [
  'function1' => 'do_echo'
];</code>

Diese Methode beinhaltet die Deklaration der Funktion außerhalb des Arrays.

Legacy-Ansatz (PHP < 5.3)

Für ältere PHP-Versionen, die dies tun Wenn Sie keine anonymen Funktionen unterstützen, können Sie create_function verwenden:

<code class="php">$functions = array(
  'function1' => create_function('$echo', 'echo $echo;')
);<p>Dieser Ansatz ist jedoch veraltet und sollte nach Möglichkeit vermieden werden.</p>
<p><strong>Aufrufen gespeicherter Funktionen</strong></p> <p>Unabhängig von der verwendeten Speichermethode können Sie die Funktionen direkt (PHP >= 5.4) oder mit 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>
aufrufen

Das obige ist der detaillierte Inhalt vonWie speichert man Funktionen in einem Array in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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