Maison >développement back-end >tutoriel php >Comment puis-je imploser un tableau avec des virgules et « et » avant le dernier élément ?

Comment puis-je imploser un tableau avec des virgules et « et » avant le dernier élément ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-27 18:42:11288parcourir

How Can I Implode an Array with Commas and

Implorer un tableau avec des virgules, ajouter "et" avant l'élément final

Implorer un tableau dans une chaîne peut être simple, mais ajouter un "et" avant le dernier élément demande un peu plus de finesse. Considérons un tableau de boissons :

[
    "coke",
    "sprite",
    "fanta"
]

L'implosion de ce tableau avec une virgule renvoie :

coke, sprite, fanta

Cependant, nous souhaitons le modifier en :

coke, sprite and fanta

Voici comment y parvenir en combinant le découpage de tableaux, la fusion, le filtrage et join:

$last  = array_slice($array, -1);
$first = join(', ', array_slice($array, 0, -1));
$both  = array_filter(array_merge(array($first), $last), 'strlen');
echo join(' and ', $both);

Cette méthode gère efficacement les tableaux de toutes tailles, y compris les cas avec zéro, un ou deux éléments, sans avoir besoin d'instructions conditionnelles supplémentaires. La polyvalence de cette approche lui permet d'être réduite en une seule ligne :

echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));

Cette solution longue ligne garantit une gestion appropriée de tous les scénarios, des tableaux vides aux grandes listes d'éléments.

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