Maison >développement back-end >tutoriel php >Comment puis-je ajouter conditionnellement des éléments à un tableau dans PHP 8.1 à l'aide du déballage de tableau ?

Comment puis-je ajouter conditionnellement des éléments à un tableau dans PHP 8.1 à l'aide du déballage de tableau ?

DDD
DDDoriginal
2024-10-29 22:01:02710parcourir

How Can I Conditionally Add Elements to an Array in PHP 8.1 Using Array Unpacking?

Ajout conditionnel d'éléments dans un tableau via le déballage du tableau

En PHP, l'ajout conditionnel d'éléments à un tableau à l'aide de l'instruction array() peut être un un peu délicat lors de l'utilisation de l'opérateur ternaire. Cependant, PHP 8.1 introduit une solution utilisant le déballage de tableau.

Pour ajouter conditionnellement l'élément 'b' => 'xyz' au tableau $arr = array('a' => 'abc'), vous pouvez utiliser la syntaxe suivante :

$arr = [
    'foo' => 'bar', 
    ...($condition ? ['baz' => 'boo' ] : []),
];

Dans cet exemple, la variable $condition détermine si l'élément 'baz' => 'boo' doit être ajouté au tableau. Si $condition est vrai, l'élément est ajouté ; sinon, il est omis.

Le déballage d'un tableau vous permet d'étendre un tableau en un ensemble de valeurs ou d'expressions individuelles. Ici, l'opérateur ternaire renvoie soit un tableau contenant 'baz' => 'boo' ou un tableau vide. L'opérateur spread (...) décompresse ensuite ce tableau, ajoutant potentiellement ses éléments à $arr.

Cette approche fournit un moyen concis et efficace d'ajouter conditionnellement des éléments à un tableau, en particulier lorsque vous travaillez avec des éléments volumineux ou complexes. tableaux. Cela simplifie le code et évite les limitations de l'opérateur ternaire.

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