Foros del Web » Programando para Internet » PHP »

break, return...

Estas en el tema de break, return... en el foro de PHP en Foros del Web. Hola a todos necesito salir de varios bucles y volver a un determinado punto. El caso esque los bucles que tengo son: Código PHP: while(  ...
  #1 (permalink)  
Antiguo 25/06/2007, 12:09
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
break, return...

Hola a todos

necesito salir de varios bucles y volver a un determinado punto. El caso esque los bucles que tengo son:


Código PHP:
while( "QUIERO VOLVER AQUI" )
{
    while()
    {
        foreach ()
        {    
            if()
            {    
                           
"CUANDO LLEGUE A ESTE PUNTO QUIERO VOLVER AL                                         
                           WHILE INDICADO AL PRINCIPIO"

                           
//break;  "CON EL BREAK SOLO SALGO DEL IF "
                
return;   "CON RETURN ME SALE DE LA FUNCION QUE 
                                             INCLUYE TODOS ESTOS BUCLES"

            
}                                                    }
         }



Lo que quiero es que una vez que entre en el if, pueda volver al while de fuera, el externo.

Gracias por su ayuda

Última edición por torerilla; 25/06/2007 a las 12:17
  #2 (permalink)  
Antiguo 25/06/2007, 12:43
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Re: break, return...

Saludos

Pero si haces eso no te queria pegada la consulta ya que cada vez que vallas a devolverte se ejecutaria nuevamente la misma consulta y por ende entraria a ese if y asi sucesivamente?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 25/06/2007, 12:49
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: break, return...

no, esque dentro de los bucles actualizo valores de contadores, y en ese if no entra siempre...

quiero volver a ese while del principio cuando se cumpla la condicion que aparece en el if señalado. Dentro de ese if cambio algunos valores.



Si no se pudiera, estoy intentandolo hacer saliendo de esa funcion y entrando con los valores que modificaba en el if, pero tengo otro problema:

¿como hago para sacar fuera de una funcion un valor?

Código PHP:
function prueba()
{
   
//quiero sacar un valor fuera
   
return $valor;



A mi no me funciona

creo que hoy tengo un dia muy negado..
  #4 (permalink)  
Antiguo 25/06/2007, 13:03
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Re: break, return...

Saludos ... la verdad es que todavia no te entiendo bien pero bueno (si pudieras colocar mas codigo) ... Pienso que podrias utilizar en mysql_data_seek para volver a inicializar el puntero interno del query del primer while

Cita:
mysql_data_seek() mueve el puntero de fila interno a la fila específicada para el identificador de resultado.

(mysql_data_seek($result, $i))

No estoy seguro que asi funcione si algo nos cuentas.

Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 25/06/2007, 18:41
 
Fecha de Ingreso: abril-2007
Mensajes: 144
Antigüedad: 17 años
Puntos: 4
Re: break, return...

Con el break puedes usar un numero que le indica cuantos bucles debe saltar:

Código PHP:
while( "QUIERO VOLVER AQUI" 

    while() 
    { 
        foreach () 
        {     
            if() 
            {     
                           
"CUANDO LLEGUE A ESTE PUNTO QUIERO VOLVER AL                                          
                           WHILE INDICADO AL PRINCIPIO" 

                
break 2;  //CON EL BREAK 2 te sale del if y del foreach, con break 3 te saldria tambien del while..etc 

            
}                                                    } 
         } 

Espero que sea esto lo que buscabas.
Tambien espero que alguien al que le parezca que le he ayudado me de algun punto positivo. Que para poner puntos negativos son muy rapidos.
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 03:20.