Ver Mensaje Individual
  #11 (permalink)  
Antiguo 17/07/2013, 07:22
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: Foreach Range

No veo la complejidad...

Código PHP:
Ver original
  1. <?php
  2.  
  3. $row_escuelas['mesadesde'] = 2;
  4. $row_escuelas['mesahasta'] = 25;
  5.  
  6. $numeros = null;
  7. foreach(range($row_escuelas['mesadesde'], $row_escuelas['mesahasta']-1) as $numero) {  
  8. $numeros .= $numero. ' ,';    
  9. }    
  10. $numeros .= $numero;    
  11.  
  12.  
  13. echo $numeros;
  14. // salida:  2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,24

El rtrim() te serviria si el separador fuera espacio (' ') ya que logras sacar facil el ultimo agregado en el ultimo ciclado del forech. rtrim() remueve espacios a derecha en un string

PERO... con la funcion mejorada que te digo todo se resume ... ten en cuenta lo primero es solo la funcion... y eso puede estar en un archivo a parte!

Código PHP:
Ver original
  1. <?php
  2. Namespace MathTools;
  3.  
  4. define ('__AUTO__',0);
  5. define ('__STRING__',2);
  6. define ('__INT__',1);
  7.  
  8. function range ($a,$b,$step=1,$type = __AUTO__ ){
  9.     $out = \range ($a,$b,$step);
  10.    
  11.     if (is_numeric($a) && is_numeric($b) && $type== __STRING__ ){        
  12.         $out2 = array(); //empty
  13.         foreach ($out as $n)
  14.             $out2[] = (string) $n;
  15.  
  16.         return $out2;
  17.     }
  18.      
  19.     return $out;  
  20.    
  21. }
  22.  
  23. // ACA empieza el verdadero programa... lo otro podria ser una libreria en un archivo aparte
  24.  
  25. $row_escuelas['mesadesde'] = 2;
  26. $row_escuelas['mesahasta'] = 25;
  27.  
  28. $numeros = range($row_escuelas['mesadesde'], $row_escuelas['mesahasta'],1,__STRING__);
  29.  
  30. echo implode (' ,',$numeros);


// salida: 2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,24
__________________
Salu2!

Última edición por Italico76; 17/07/2013 a las 07:27