Pour afficher une liste d'items, on veut souvent mettre un séparateur entre chaque élément comme par exemple ci-dessous :
Windows | Linux | Mac OS
Vous remarquerez que le séparateur n'est pas présent au début ni à la fin.
Dans une boucle PHP, on pourrait être tenté de faire comme ci-dessous :
$i = 0;
$arrayCount = count($array);
foreach ($array as $element) {
echo $element;
if ($i < $arrayCount) {
echo ' | ';
}
$i++;
}
Alors qu'il y a en réalité beaucoup plus rapide :
$flag = false;
foreach ($array as $element) {
if ($flag) {
echo ' | ';
}
echo $element;
$flag = true;
}
Merci Patrice ;)
1 commentaire:
Pour faire ceci, j'aurais plutôt fait :
$tab = array(1,2,3,4);
echo implode('|', $tmp_tab);
Bien plus élégant !
Si on tient à sa structure de boucle, autant faire ainsi :
$array = array('a', 'b', 'c', 'd');
$i = 0;
$tmp_tab = array();
foreach ($array as $element) {
$tmp_tab[] = $element;
$i++;
}
echo implode('|', $tmp_tab);
On se passe de compter le nombre d'éléments et de le comparer à un compteur (inutile) à chaque itération...
Pas mal, non ?
Enregistrer un commentaire