Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man einer PHP-Funktion basierend auf der Länge eines Arrays eine variable Anzahl von Argumenten übergeben?

Wie kann man einer PHP-Funktion basierend auf der Länge eines Arrays eine variable Anzahl von Argumenten übergeben?

Patricia Arquette
Freigeben: 2024-11-09 08:27:02
Original
798 Leute haben es durchsucht

How can you pass a variable number of arguments to a PHP function based on an array's length?

Dynamische Argumentübergabe in PHP-Funktionen

In PHP ist es möglich, mithilfe von func_num_args() und Funktionen zu erstellen, die eine variable Anzahl von Argumenten akzeptieren func_get_args(). Allerdings kann die Angabe der an solche Funktionen zu übergebenden Argumente eine Herausforderung sein, wenn ihre Anzahl von der Länge eines Arrays abhängt.

Verwendung von call_user_func_array

Glücklicherweise stellt PHP die Funktion call_user_func_array bereit. Damit können Sie eine Funktion mit einem Array von Argumenten aufrufen. Wenn die Anzahl der Argumente, die Sie übergeben möchten, durch die Länge eines Arrays bestimmt wird, können Sie sie in ein Array packen und es als zweiten Parameter von call_user_func_array verwenden.

Beispiel

Betrachten Sie die folgende Funktion:

function test() {
  var_dump(func_num_args());
  var_dump(func_get_args());
}
Nach dem Login kopieren

Sie können sie mit unterschiedlichen Argumenten aus einem Array aufrufen Folgendes:

$params = array(
  10,
  'glop',
  'test',
);

call_user_func_array('test', $params);
Nach dem Login kopieren

Ausgabe

int 3
array
  0 => int 10
  1 => string 'glop' (length=4)
  2 => string 'test' (length=4)
Nach dem Login kopieren

Dies zeigt, dass die Funktion drei Parameter erhalten hat, als ob sie explizit aufgerufen worden wäre mit:

test(10, 'glop', 'test');
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann man einer PHP-Funktion basierend auf der Länge eines Arrays eine variable Anzahl von Argumenten übergeben?. 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