Foros del Web » Programando para Internet » PHP »

[solucionado] Hacer return a un bucle

Estas en el tema de [solucionado] Hacer return a un bucle en el foro de PHP en Foros del Web. ¿Cómo puedo devolver los valores de un foreach mediante un return? Tengo una función con este trozo: Código PHP: function  mostrar ( $a ) {   switch ( ...
  #1 (permalink)  
Antiguo 16/10/2009, 22:12
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
[solucionado] Hacer return a un bucle

¿Cómo puedo devolver los valores de un foreach mediante un return? Tengo una función con este trozo:

Código PHP:
function mostrar($a) {
  switch (
$a) {
    case 
'si':
      if(isset(
$_POST['cosa'])) {
        
$res explode(';'$_POST['cosa']);
        foreach (
$res as $num => $val) {
          echo 
'<li>'$val .'</li>';
        }
      }
    break;
    case 
'no':
      if(isset(
$_POST['otro'])) {
        
$res explode(';'$_POST['otro']);
        foreach (
$res as $num => $val) {
          echo 
'<li>'$val .'</li>';
        }
      }
    break;
  }

Pero cuando intento retornar esos foreach me devuelven un solo resultado. Lo he intentado de varias formas y también me devuelve error ¿cómo le hago?.

La idea es pasar la función por parámetros sin que haga un echo apenas la asigne a una variable.
  #2 (permalink)  
Antiguo 16/10/2009, 22:57
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Hacer return a un bucle

Cada vez quue el ciclo entre concatenas con el resultado anterior
function mostrar($a) {
switch ($a) {
case 'si':
if(isset($_POST['cosa'])) {
$res = explode(';', $_POST['cosa']);
foreach ($res as $num => $val) {
$foo .= '<li>'. $val .'</li>';
}
}
break;
case 'no':
if(isset($_POST['otro'])) {
$res = explode(';', $_POST['otro']);
foreach ($res as $num => $val) {
$foo .= '<li>'. $val .'</li>';
}
}
break;
}

return $foo;
}
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #3 (permalink)  
Antiguo 16/10/2009, 23:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Hacer return a un bucle

exacto!!

si devuelves un solo valor pues eso será!!

para devolver un resultado completo... debes completar de algún modo ese aspecto..

osea, concatenando, sumando, agregando, etc, etc...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 17/10/2009, 06:17
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Hacer return a un bucle

Muchas gracias acoevil, funciona de maravilla. Mira cómo era de simple y yo reventándome el coco =P

Sólo para complementar: hay que agregar una variable con valor vacío al principio, fuera de los bucles.

Saludos.
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:46.