Heim >Backend-Entwicklung >PHP-Tutorial >Wie übergebe ich eine variable Anzahl von Argumenten an PHP-Funktionen?

Wie übergebe ich eine variable Anzahl von Argumenten an PHP-Funktionen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-11 04:02:02375Durchsuche

How to Pass a Variable Number of Arguments to PHP Functions?

Variable Anzahl von Argumenten an PHP-Funktionen übergeben

Frage: Wie kann ich eine variable Anzahl von Argumenten dynamisch übergeben? zu einer PHP-Funktion?

Antwort: Erwägen Sie die Verwendung von call_user_func_array-Funktion, mit der Sie ein Array von Argumenten an eine Funktion übergeben können. Wenn die Anzahl der Argumente, die Sie übergeben müssen, von der Länge eines Arrays abhängt, können Sie die Argumente in ein Array konvertieren und dieses Array als zweiten Parameter von call_user_func_array verwenden.

Angenommen, Sie haben Folgendes Funktion:

function test() {
  var_dump(func_num_args());
  var_dump(func_get_args());
}

Sie können Ihre Parameter wie folgt in ein Array packen:

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

Und dann die Funktion aufrufen using:

call_user_func_array('test', $params);

Dadurch wird Folgendes ausgegeben:

int 3

array
  0 => int 10
  1 => string 'glop' (length=4)
  2 => string 'test' (length=4)

Im Wesentlichen werden die Elemente des übergebenen Arrays von der Funktion als unterschiedliche Parameter empfangen, was den gleichen Effekt erzielt, als ob die Funktion wurde direkt mit den einzelnen Argumenten aufgerufen.

Das obige ist der detaillierte Inhalt vonWie übergebe ich eine variable Anzahl von Argumenten an PHP-Funktionen?. 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