Heim >Backend-Entwicklung >PHP-Tutorial >Wie übergebe ich Elemente eines Arrays als einzelne Argumente an eine Funktion in PHP?

Wie übergebe ich Elemente eines Arrays als einzelne Argumente an eine Funktion in PHP?

Susan Sarandon
Susan SarandonOriginal
2024-11-08 13:42:01767Durchsuche

How do I pass elements of an array as individual arguments to a function in PHP?

Arrays als einzelne Argumente in PHP übergeben

In PHP ist es oft notwendig, Arrays als Argumente an Funktionen zu übergeben. Es gibt jedoch Fälle, in denen wir das Array möglicherweise in einzelne Argumente dereferenzieren möchten.

Lösung

Ab PHP 5.6 ist das ...-Token, auch bekannt als Der „Splat-Operator“ bietet eine elegante Lösung für die Übergabe von Arrays als einzelne Argumente. Mit diesem Token können Sie ein Array in eine Liste von Argumenten „aufteilen“, wie unten gezeigt:

function variadic($arg1, $arg2) {
    echo $arg1 . ' ' . $arg2;
}

$array = ['Hello', 'World'];

// 'Splat' the $array into the function call
variadic(...$array);

// Output: 'Hello World'

Wichtige Hinweise:

  • Indizierte Array-Elemente werden Funktionsargumenten anhand ihrer Position und nicht anhand ihrer Schlüssel zugeordnet.
  • Assoziative Array-Elemente können mit der Funktion „Benannte Argumente“ von PHP 8 in benannte Argumente entpackt werden.
  • Das ...-Token ist die schnellste Methode zum Entpacken von Argumenten.

Typhinweis

Sie können das ...-Token mit einem Typhinweis versehen, um sicherzustellen, dass alle übergebenen Werte einem bestimmten Typ entsprechen. Dies ist nützlich, um sicherzustellen, dass ein Array Elemente eines bestimmten Typs enthält:

function variadic($var, SomeClass ...$items) { }

variadic('Hello', new SomeClass, new SomeClass); // Valid

variadic('Hello', 'Not a SomeClass'); // Error

Das obige ist der detaillierte Inhalt vonWie übergebe ich Elemente eines Arrays als einzelne Argumente an eine Funktion 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