Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich eine PHP-Funktion mit einer variablen Anzahl von Argumenten auf?

Wie rufe ich eine PHP-Funktion mit einer variablen Anzahl von Argumenten auf?

Susan Sarandon
Susan SarandonOriginal
2024-11-08 10:40:02376Durchsuche

How to Call a PHP Function with a Variable Number of Arguments?

Aufrufen einer PHP-Funktion mit variabler Anzahl von Argumenten

Beim Umgang mit PHP-Funktionen, die eine variable Anzahl von Argumenten akzeptieren, ist die Anzahl der Parameter Der an die Funktion übergebene Wert kann anhand der Länge eines Arrays bestimmt werden. Um dies zu erreichen, stellt PHP mehrere Techniken zur Verfügung:

call_user_func_array

Wenn die Argumente in einem Array gespeichert werden, kann die Funktion call_user_func_array eingesetzt werden. Diese Funktion akzeptiert ein Array als zweiten Parameter, der die Funktionsargumente enthält.

Beispiel:

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

$params = [
  10,
  'glop',
  'test',
];

call_user_func_array('test', $params);

Dieser Code gibt Folgendes aus:

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

for-Schleife

Eine andere Möglichkeit besteht darin, eine for-Schleife zum Iterieren zu verwenden über das Array und übergeben Sie jedes Element als Argument an die Funktion.

Beispiel:

function test($num1, $str1, $str2) {
  var_dump(func_get_args());
}

$params = [
  10,
  'glop',
  'test',
];

for ($i = 0; $i < count($params); $i++) {
  test($params[$i]);
}

Dieser Code gibt aus:

array(1) {
  [0] => int 10
}
array(1) {
  [0] => string 'glop' (length=4)
}
array(1) {
  [0] => string 'test' (length=4)
}

Durch die Verwendung dieser Techniken können Sie PHP-Funktionen effektiv mit einer variablen Anzahl von Argumenten aufrufen, basierend auf der Länge eines Arrays.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine PHP-Funktion mit einer variablen Anzahl von Argumenten auf?. 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