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!