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
Libérer: 2024-11-27 18:42:11
original
286 Les gens l'ont consulté

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"
]
Copier après la connexion

L'implosion de ce tableau avec une virgule renvoie :

coke, sprite, fanta
Copier après la connexion

Cependant, nous souhaitons le modifier en :

coke, sprite and fanta
Copier après la connexion

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);
Copier après la connexion

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'));
Copier après la connexion

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!

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