Maison >développement back-end >tutoriel php >Comment puis-je transmettre un tableau comme arguments individuels à une fonction en PHP ?

Comment puis-je transmettre un tableau comme arguments individuels à une fonction en PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-08 17:03:01194parcourir

How can I pass an array as individual arguments to a function in PHP?

Déférence d'un tableau en tant qu'arguments de fonction en PHP

Les développeurs peuvent rappeler une technique en PHP qui leur permet de transmettre un tableau en tant qu'arguments individuels à une fonction. Cependant, récupérer les spécificités de cette technique peut s'avérer difficile.

Depuis PHP 5.6, l'introduction de « l'opérateur splat » (ou « fonctions variadiques ») simplifie considérablement ce processus. La syntaxe implique le jeton ... avant un tableau, qui distribue les éléments du tableau sous forme d'arguments distincts à la fonction.

function variadic($arg1, $arg2) {
    // ...
}

$array = ['Hello', 'World'];
variadic(...$array); // => 'Hello World'

Les éléments du tableau indexés sont attribués à des arguments en fonction de leur position dans le tableau. De plus, pour PHP 8 et versions ultérieures, les arguments nommés permettent l'utilisation de clés de tableau associatives.

$array = [
    'arg2' => 'Hello',
    'arg1' => 'World'
];
variadic(...$array); // => 'World Hello'

La méthode de l'opérateur splat est également particulièrement efficace, surpassant d'autres techniques comme call_user_func_array.

À part à partir de la fonctionnalité principale, vous pouvez également utiliser des indications de type sur le paramètre de l'opérateur splat. En le déclarant comme dernier paramètre et en regroupant toutes les valeurs transmises dans le tableau, vous vous assurez que toutes les valeurs correspondent à un type spécifique. Ceci est particulièrement utile pour garantir qu'un tableau contient des éléments d'une classe spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn