Foros del Web » Programando para Internet » PHP »

Intervalos

Estas en el tema de Intervalos en el foro de PHP en Foros del Web. como puedo obtener los valores que hay entre 2 numeros? por ejemplo si le doy el 3 y el 6, que me responda con los ...
  #1 (permalink)  
Antiguo 06/07/2004, 15:03
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
Intervalos

como puedo obtener los valores que hay entre 2 numeros? por ejemplo si le doy el 3 y el 6, que me responda con los valores 3, 4, 5, 6....

Please me urge muchísimo!

Gracias por adelantado
  #2 (permalink)  
Antiguo 06/07/2004, 15:09
Avatar de orchabel  
Fecha de Ingreso: marzo-2002
Ubicación: Hundido en un rincón...
Mensajes: 401
Antigüedad: 15 años, 9 meses
Puntos: 1
te sirve un for o es algo más complicado... de forma sencilla lo puedes hacer

$inicio=3;
$fin=6;
$pasos=1;
for($i=$inicio;$i<=$fin;$i=$i+$pasos)
{
// numeros entre uno y otro
}

no sé si te sirva....
__________________
BugHunter II
"si quieres un mañana mejor, piensa en ser mejor para un mañana"
  #3 (permalink)  
Antiguo 06/07/2004, 15:11
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
No entiendo el codigo, me lo podrias explicar? que es el for? para k sirve?
  #4 (permalink)  
Antiguo 06/07/2004, 15:47
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
ok

ok, funciona pero para separarlo por comas, alguien sabe como hacerlo? vamos, que me muestre 3, 4, 5, 6
  #5 (permalink)  
Antiguo 06/07/2004, 16:29
Avatar de orchabel  
Fecha de Ingreso: marzo-2002
Ubicación: Hundido en un rincón...
Mensajes: 401
Antigüedad: 15 años, 9 meses
Puntos: 1
coloca entre el ciclo for,

if($i==$inicio)
$lista=$i;
else
$lista=",".$i;


y al final del ciclo lo imprimes

echo $lista.

el for es un ciclo... indicas desde donde comiensa hasta donde termina y el salto que va a realizar. Por eso si colocas for($i=0;$i<=10;$i=$i+1), entonces realizará un ciclo en $i que comensara desde 0 hasta 10 sumando de 1 en 1... sirve para hacer sumatorias, recorrer arreglos... etc. Esta función es una de las bases de la programación

saludos!
__________________
BugHunter II
"si quieres un mañana mejor, piensa en ser mejor para un mañana"
  #6 (permalink)  
Antiguo 06/07/2004, 16:37
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
....sigue sin funcionarme tengo el siguiente codigo:
Código:
 <? $inicio=3;
$fin=6;
$pasos=1;
for($i=$inicio;$i<=$fin;$i=$i+$pasos)
if($i==$inicio)
$lista=$i;
else
$lista=",".$i;
 echo $lista;
 ?>
i su respuesta es ,6
  #7 (permalink)  
Antiguo 06/07/2004, 18:02
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Utiliza las llaves "{}" para el for y para el if... aunque para éste último no será necesario ya que hay una sóla acción.
Código PHP:
$inicio=3;
$fin=6;
$pasos=1;
for(
$i=$inicio;$i<=$fin;$i=$i+$pasos){
   if(
$i==$inicio){
      
$lista=$i;
   }else{
      
$lista.=",".$i;
   }
}
echo 
$lista
Saludos

Última edición por jpinedo; 07/07/2004 a las 19:58
  #8 (permalink)  
Antiguo 07/07/2004, 02:19
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 14 años
Puntos: 4
Desacuerdo

sigue dandome el mismo dato ,6 no entiendo porque me da este valor y los demas se los come...... tengo puesto el siguiente código:
Código:
<? $inicio=3; 
$fin=6; 
$pasos=1; 
for($i=$inicio;$i<=$fin;$i=$i+$pasos){ 
   if($i==$inicio){ 
      $lista=$i; 
   }else{ 
      $lista=",".$i; 
   } 
} 
echo $lista; 
?>
  #9 (permalink)  
Antiguo 07/07/2004, 02:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

El "problema" es que solo estas almacenando en $lista un valor. Y lo que tenias que estar haciendo es creando una cadena a base de concatenar esos valores.

De todas formas, si $pasos siempre va a ser 1, podrias usar la funcion range() (www.php.net/range) junto con implode() (www.php.net/implode):
Código PHP:
$inicio=3;
$fin=6;
$lista=range($inicio,$fin);
echo 
implode(',',$lista); 
Es mas, la solucion con el for tambien creo que estaria mejor si dentro del for se hace el array() y luego se añade las comas con el implode(). Ademas, tener la lista en un array la hace mas manejable para otros usos (saber cuantos elementos, por ejemplo).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 11:57.