_laurent a écrit :
Hahaha bah perso je trouve que c'est plus simple et lisible (et peut être aussi plus accessible par un débutant)
+1 Hier soir en postant la réponse, c'est un effet de style. Je trouve que l'idée de départ de Safouin avec range et implode est pertinente. D'où ma proposition, on peut traiter ce genre de cas sans les boucles. Avec d'autres langages, l'effet de style que j'avance, ce serait largement plus lisible.
En reprenant ton code et ajoutant un peu plus de lisibilité sans utiliser sprintf family (vprintf/vprintf/sprintf/etc/etc/.).
<?php
echo "<select>";
for ($i = 201; $i <= 250; $i += 2) { // avance l'index de 2
echo "<option value='$i'>$i</option>"; // la variable sera interprétée puisqu'on utilise des guillements double. La valeur d''un attribut entourée par des guillemets simples est valide en html.
}
echo "</select>";
_laurent a écrit :
Mais bon je suis loin d'être un monstre en php (surtout en bonnes pratiques)... les boucles c'est le mal ?
idem, je ne suis pas un monstre en php. Les boucles ne sont pas le mal en soit puisque tous les langages ont des boucles. Mais ce qui peut te tuer les perfs, ce sont bien des boucles (surtout si elles sont mal contrôlée). Pour te donner un exemple : Dans un controlleur, tu récupères des données d'une base de données et tu dois formater tes données. Tu risques de faire une boucle dans le controlleur et dans la vue tu refais une boucle dans la vue pour afficher ces dernières (totale => 2 boucles).
ps :
- Safouin ne nous a pas dit s'il souhaite avoir des valeurs pairs ou impairs. Comme je l'ai fait dans ma première proposition, l’implémentation du
modulo (lire le commentaire de Jonathon Reinhart) est plus abouti.
- le code que j'ai écrit hier soir est en php 7.4.x (fn)
Modifié par niuxe (06 Feb 2020 - 08:56)