[Résolu] Php : simplification code

WRInaute accro
Bonjour,

J'ai bricolé une fonction et je souhaiterai simplifier la seconde condition du if.
Code:
              <?php
               $mesUrls = $_SERVER['REQUEST_URI'];
               if( count($this->headerMethods)&&($mesUrls == '/list/11' || $mesUrls == '/list/14' || $mesUrls == '/list/25' || $mesUrls == '/list/31' || $mesUrls == '/list/36' || $mesUrls == '/list/42' || $mesUrls == '/list/47' || $mesUrls == '/list/54' || $mesUrls == '/list/61' || $mesUrls == '/list/66' || $mesUrls == '/list/71' || $mesUrls == '/list/76' || $mesUrls == '/list/85' || $mesUrls == '/list/94' || $mesUrls == '/list/100' || $mesUrls == '/list/105' || $mesUrls == '/list/114' || $mesUrls == '/list/123' || $mesUrls == '/list/132' || $mesUrls == '/list/141' || $mesUrls == '/list/150' || $mesUrls == '/list/159' || $mesUrls == '/list/168' || $mesUrls == '/list/176') )
                   {
                     echo "";
                   }
               else
                   {
                     echo "<span class='headermethod'>&nbsp;";
                     echo implode(" | \n", $this->headerMethods);
                     echo "&nbsp;</span>";
                   }
              ?>
Merci à ceux qui pourront m'aider.
 
WRInaute accro
Re: Php : simplification code

Je te mets juste le bout important:

preg_match('#^/list/(11|14|25|31|36|etc.|176)$#',$mesUrls)

Sinon tu peux faire un tableau associatif avec la liste des numéros associatifs, faire un preg_match('#^/list/(\d+)$#',$mesUrls,$matches) et regarder si $tableau[$matches[1]] existe.

Jacques.
 
WRInaute discret
Re: Php : simplification code

Seconde solution également passer la seconde condition dans un switch, ca sera plus "sexy".
 
WRInaute discret
à la lecture dans un premier temps, gain de temps au débugage, etc.
Coté perf, j'ai pas testé mais ca doit être kiff je pense.
 
WRInaute accro
Intéressant mais comme il s'agit d'un besoin ponctuel je vais m'en tenir au preg_match de Jacques.
Merci quand même.
 
WRInaute accro
Si tu as beaucoup de numéros différents, je pense que la solution du preg_match et du tableau associatif doit être la plus rapide et la plus lisible. En tous cas en perl ce serait le cas, on peut espérer que l'implémentation des tableaux associatifs de php est efficace.

Jacques.
 
Discussions similaires
Haut