Optimisation du code

Eléphant du PHP | 148 Messages

27 janv. 2009, 09:18

Code : Tout sélectionner

<option <?php if ($yeux=="0") {echo 'selected="selected"';} ?> value=""></option> <option <?php if ($yeux=="1") {echo 'selected="selected"';} ?> value="1">Autres</option> <option <?php if ($yeux=="2") {echo 'selected="selected"';} ?> value="2">Bleus</option> <option <?php if ($yeux=="3") {echo 'selected="selected"';} ?> value="3">Gris</option> <option <?php if ($yeux=="4") {echo 'selected="selected"';} ?> value="4">Marrons</option> <option <?php if ($yeux=="5") {echo 'selected="selected"';} ?> value="5">Noirs</option> <option <?php if ($yeux=="6") {echo 'selected="selected"';} ?> value="6">Noisettes</option> <option <?php if ($yeux=="7") {echo 'selected="selected"';} ?> value="7">Verts</option>
Je voudrai savoir si ce bout de code pourrai être optimisé?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 janv. 2009, 09:25

Optimisé non, mais tu peux le réduire (surtout s'il y a beaucoup d'options) en utilisant un tableau associatif (valeur => libellé) que tu parcours ensuite avec un foreach :)
$monTableau = array (0 => 'Autres', 1 => ...);

foreach ($monTableau as $id => $lib) {
  if ($id == $yeux)
    ...

  echo ... ;
}
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 148 Messages

27 janv. 2009, 09:31

			<?php
				$var= array('','Autres','Bleus','Gris','Marrons','Nois','Noisettes','Verts');
				for($i=0;$i<count($var);$i++) {
					if($yeux==$i) {
						echo '<option selected="selected" value="'.$i.'">'.$var[$i].'</option>';
					}
					else {
						echo '<option value="'.$i.'">'.$var[$i].'</option>';
					}
				}
			?>
Ok voilà le code que j'ai fais en attendant ta réponse. Tu en pense quoi? un peu la même chose?