Simplifier un petit code


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Simplifier un petit code

Message le Mar Nov 17, 2009 18:12

Bonjour,

J'aimerais savoir si ce petit bout de code est simplifiable.

Code: Tout sélectionner
$table = !is_numeric($userrow['bag'.$bag.'id']) ? 'equips' : 'items';

]switch ($table) {
         case 'equips': $type = 1; break;
         case 'items': $type = 2; break;
         default: $type = 3;
         }


Merci

Sullyvan
WRInaute discret
WRInaute discret
 
Messages: 90
Inscription: 20 Mai 2008

Re: Simplifier un petit code

Message le Mar Nov 17, 2009 18:34

peut -être comme ça

Code: Tout sélectionner
$types = array('equips'=>1,'items'=>2);
$type = $types[$table];


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Re: Simplifier un petit code

Message le Mar Nov 17, 2009 18:57

En terme d'exécution, c'est plus rapide ou ça revient au même ?

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2687
Inscription: 13 Fév 2004

Re: Simplifier un petit code

Message le Mer Nov 18, 2009 0:17

S'il n'y a que ça dans ton code, et que $table n'est pas utilisé ou modifié par ailleurs, tu peux faire un raccourci comme ça:

Code: Tout sélectionner
$type = is_numeric($userrow['bag'.$bag.'id'])?2:1;


Mais j'ai tendance à penser que si c'est écrit comme ça c'est qu'il doit y avoir une raison, non?

Jacques.

Sullyvan
WRInaute discret
WRInaute discret
 
Messages: 90
Inscription: 20 Mai 2008

Re: Simplifier un petit code

Message le Mer Nov 18, 2009 10:31

sff a écrit:En terme d'exécution, c'est plus rapide ou ça revient au même ?

en théorie ça devrait être plue rapide puisqu'il n'y a pas de test switch, mais bon ça doit se jouer à quelques millièmes de secondes je pense

La solution de jcaron me semble bonne aussi en partant du principe que $table ne sert pas ailleurs.

kitten13
WRInaute discret
WRInaute discret
 
Messages: 213
Inscription: 30 Avr 2007

Re: Simplifier un petit code

Message le Jeu Nov 19, 2009 1:06

Franchement, prise de tete pour rien, ta gagner 000000000000000000000.1 ms

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2687
Inscription: 13 Fév 2004

Re: Simplifier un petit code

Message le Jeu Nov 19, 2009 1:54

Sans connaître le contexte, c'est difficile de dire si c'est important ou pas... Si c'est au coeur d'une boucle qui est exécutée 10000 fois par requête et qu'il se prend des milliers de requêtes par seconde, ça peut faire toute la différence...

Jacques.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités