Comment puis-je transmettre un tableau comme liste d'arguments à une fonction PHP ?

Patricia Arquette
Libérer: 2024-11-10 03:40:02
original
914 Les gens l'ont consulté

How Can I Pass an Array as Argument List to a PHP Function?

Passer des tableaux sous forme de listes d'arguments en PHP

En PHP, il existe plusieurs façons de transmettre un tableau sous forme de liste d'arguments à une fonction . Une méthode, introduite dans PHP 5.6, utilise la fonction variadique avec l'opérateur ... (splat).

Pour utiliser l'opérateur splat :

  • Créez un tableau contenant le arguments que vous souhaitez transmettre.
  • Ajoutez le tableau avec l'opérateur ... lors de l'appel de la fonction.
function variadic($arg1, $arg2) {
  echo $arg1 . ' ' . $arg2;
}

$array = ['Hello', 'World'];
variadic(...$array); // Output: 'Hello World'
Copier après la connexion

Les éléments du tableau indexés sont mappés aux arguments de la fonction en fonction de leur position , pas leurs clés.

Depuis PHP8, les arguments nommés vous permettent d'utiliser les clés nommées des tableaux associatifs avec déballage :

$array = [
  'arg2' => 'Hello',
  'arg1' => 'World',
];

variadic(...$array); // Output: 'World Hello'
Copier après la connexion

Une autre méthode pour passer un tableau comme arguments consiste à utiliser le Fonction call_user_func_array() :

function my_callback($name, $age) {
  echo $name . ' is ' . $age . ' years old.';
}

$data = ['John', 25];
call_user_func_array('my_callback', $data); // Output: 'John is 25 years old.'
Copier après la connexion

Cette méthode accepte un tableau de valeurs et les décompresse en arguments individuels pour la fonction. Cependant, c'est plus lent que la méthode de l'opérateur splat.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal