8798 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai récupérer un site et il y a un script PHP que je voudrais optimiser.
voila ce qu'il y a actuellement

if( $code == "1"){ $code1="OUI";}
else {$code1="NON";}

if( $code == "2"){$code2="OUI";}
else {$code2="NON";}


et ca pour plus de 20 codes.

je voulais le faire en while mais j'arrive pas a "générer" la variable $codex
voici mon code.
$i=0;
	while ($i<27)
	{
		if( $code == $i)
		{ [i]$code.$i[/i]="OUI";}
		else 
		{[i]$code.$i[/i]="NON";}
		$i++;
	}

Ca ne marche pas j'ai
 Fatal error: Maximum execution time of 30 seconds exceeded

Modifié par elti69 (04 Apr 2012 - 11:13)
Il faudrait plutôt que tu regardes du côté des variables dynamique $$.

$i=0;
	while ($i<27)
	{
		if( $code == $i)

		{ [#red]$[/#]$code.$i="OUI";}

		else 

		{[#red]$[/#]$code.$i="NON";}

		$i++;
	}

Modérateur
bonjour, en effet il est possible d'utiliser des variables dynamiques, ainsi:


$code$i = ($code==$i) ? 'OUI' : 'NON';


Bien entendu, les variables dynamiques c'est le mal. Ainsi il vaudrait mieux revoir le code autour et avoir quelque chose de propre ainsi:


 // En utilisant  true/false au lieu de 'OUI'/'NON'
 $code[$i] = ($code==$i);
Modérateur
Elles peuvent être utiles dans certains cas, mais il convient d'être prudent:

- Risque d'écraser d'autres variables par accident
- Impossibilité de savoir clairement les variables définies.
- Lecture du code ardue pour un être humain.
- Lecture du code ardue pour un IDE. Avec le précédent, cela donne de gros problèmes de débogage.