Foros del Web » Programando para Internet » PHP »

Es valido romper un FOREACH con un return?

Estas en el tema de Es valido romper un FOREACH con un return? en el foro de PHP en Foros del Web. Hola... tengo el siguiente codigo dentro de un metodo: Código PHP:          // Busca en todo el array almenos un numero telefonico          foreach ( $this -> telefono  AS  $t1 ) {             if (!empty( $t1 [ 'telefono' ...
  #1 (permalink)  
Antiguo 07/01/2012, 12:52
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Es valido romper un FOREACH con un return?

Hola... tengo el siguiente codigo dentro de un metodo:

Código PHP:
        // Busca en todo el array almenos un numero telefonico
        
foreach ($this->telefono AS $t1) {
            if (!empty(
$t1['telefono'])) {
                
$this->error[0]= 2;
                
$this->error[4]="Por Favor ingrese almenos un numero telefonico";
                return 
FALSE;
            }
        } 
Pero es valido hacer esto? o tedria que romperlo con un break y despues por fuera del ciclo evualuar y colocar el return?
  #2 (permalink)  
Antiguo 07/01/2012, 12:57
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Es valido romper un FOREACH con un return?

Es válido, es una cuestión de diseño de código. Sacar el return dejará tu código mas limpio y mantenible en caso de que el método crezca.

Incuso hay gente que prefiere que cada método/función tenga una unica salida (return).

Saludos
  #3 (permalink)  
Antiguo 07/01/2012, 13:04
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Es valido romper un FOREACH con un return?

creo que lo mejor sería un continue

saludos.

Editado: perdón creo que ando perdido.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 07/01/2012, 13:06
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Es valido romper un FOREACH con un return?

No, por que el exit terminaria con el programa y lo que quiero es que el metodo regrese un error para que se muestre en la plantilla...
  #5 (permalink)  
Antiguo 07/01/2012, 13:08
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 260
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Es valido romper un FOREACH con un return?

claro es cuestion de diseño pero se te olvida un pequeño detalle a explicar que si usas break continua la ejecucion de la funcion despues del bucle y con return se corta en esa linea y retorna el control a la linea de codigo donde fue invocada esta. He leido que siempre es preferible salir cuanto antes de una funcion que seguir hasta el final solo para hacer un return. Mi opinion saludos...
__________________
QMD...
  #6 (permalink)  
Antiguo 07/01/2012, 13:09
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Es valido romper un FOREACH con un return?

sip, tienes razón, pero creo que el que si te serviría es el break, con este creo que no estoy tan perdido ^_^"

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 07/01/2012, 13:17
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Es valido romper un FOREACH con un return?

Tienen razon... Si rompo el ciclo con el return el metodo termina y no continua buscando mas errores en otros campos... lo que provocaria que solo se muestre un error a la vez, en vez de mostrar de una sola vez todos los errores encontrados...
  #8 (permalink)  
Antiguo 07/01/2012, 13:42
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 260
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Es valido romper un FOREACH con un return?

bueno con break igual te funciona pero si hay mas codigo despues del bucle se ejecutara y con return ya no. Si ese codigo depende que del bucle alla al menos un telefono es mejor usar un return false. Asi no ejecutas codigo que sabes que de todas formas retornara false.
__________________
QMD...

Etiquetas: foreach, return, romper, ciclos
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 15:54.