Foros del Web » Programando para Internet » PHP »

simplificar cadenas de if

Estas en el tema de simplificar cadenas de if en el foro de PHP en Foros del Web. alguien sabe como simplificar esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original if ( $pfrs == 5 ) {         $frs = 5 ...
  #1 (permalink)  
Antiguo 16/11/2011, 15:44
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
simplificar cadenas de if

alguien sabe como simplificar esto:

Código PHP:
Ver original
  1. if ($pfrs==5){
  2.         $frs=5;
  3.         $pfrs=-50;
  4.     }else{
  5.         if ($pfrs==6){
  6.             $frs=6;
  7.             $pfrs=-40;
  8.         }else{
  9.             if ($pfrs==7){
  10.                 $frs=7;
  11.                 $pfrs=-30;
  12.             }else{
  13.                 if ($pfrs==8){
  14.                     $frs=8;
  15.                     $pfrs=-20;
  16.                 }else{
  17.                     if ($pfrs==9){
  18.                         $frs=9;
  19.                         $pfrs=-10;
  20.                     }else{
  21.                         if ($pfrs==10){
  22.                             $frs=10;
  23.                             $pfrs=0;
  24.                         }else{
  25.                             if ($pfrs==11){
  26.                                 $frs=11;
  27.                                 $pfrs=10;
  28.                             }else{
  29.                                 if ($pfrs==12){
  30.                                     $frs=12;
  31.                                     $pfrs=20;
  32.                                 }else{
  33.                                     if ($pfrs==13){
  34.                                         $frs=13;
  35.                                         $pfrs=30;
  36.                                     }else{
  37.                                         if ($pfrs==14){
  38.                                             $frs=14;
  39.                                             $pfrs=45;
  40.                                         }else{
  41.                                             if ($pfrs==15){
  42.                                                 $frs=15;
  43.                                                 $pfrs=60;
  44.                                             }else{
  45.                                                 if ($pfrs==16){
  46.                                                     $frs=16;
  47.                                                     $pfrs=80;
  48.                                                 }else{
  49.                                                     if ($pfrs==17){
  50.                                                         $frs=17;
  51.                                                         $pfrs=100;
  52.                                                     }else{
  53.                                                         if ($pfrs==18){
  54.                                                             $frs=18;
  55.                                                             $pfrs=125;
  56.                                                         }else{
  57.                                                             if ($pfrs==19){
  58.                                                                 $frs=19;
  59.                                                                 $pfrs=150;
  60.                                                             }else{
  61.                                                                 if($pfrs==20){
  62.                                                                     $frs=20;
  63.                                                                     $pfrs=200;
  64.                                                                 }else{
  65.                                                                     $pfrs=0;
  66.                                                                 }
  67.                                                             }
  68.                                                         }
  69.                                                     }
  70.                                                 }
  71.                                             }
  72.                                         }
  73.                                     }
  74.                                 }
  75.                             }
  76.                         }
  77.                     }
  78.                 }
  79.             }
  80.         }
  81.     }
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #2 (permalink)  
Antiguo 16/11/2011, 16:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: simplificar cadenas de if

Parece que los números siguen un patrón, por lo que podrías aplicar una formula me imagino para sacar el segundo valor ¿no?
  #3 (permalink)  
Antiguo 16/11/2011, 16:08
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 16 años
Puntos: 8
Respuesta: simplificar cadenas de if

¿Quizás usando switch()? O como dice GatorV una fórmula con un contador y un while.
__________________
A. Uttranadhie
  #4 (permalink)  
Antiguo 18/11/2011, 21:43
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 21 años, 3 meses
Puntos: 105
Respuesta: simplificar cadenas de if

Holas

Mas ordenado y mas practico es el switch

Saludos
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 18/11/2011, 22:38
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: simplificar cadenas de if

si ya esta resuelto
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: cadenas, simplificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:44.