Foros del Web » Programando para Internet » PHP »

PHP OO problema con una funcion

Estas en el tema de problema con una funcion en el foro de PHP en Foros del Web. hola, tengo un problema con una función que genera un menú el codigo es: final public static function get_Menu($menu){ $parent = -1; $res = ''; ...
  #1 (permalink)  
Antiguo 14/09/2016, 18:13
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
problema con una funcion

hola, tengo un problema con una función que genera un menú

el codigo es:
final public static function get_Menu($menu){
$parent = -1;
$res = '';
foreach($menu as $e) {
if($e['sub'] == $parent || ($parent == -1 && $e['sub'] == 0)) {
$res.='<li>'.$e['link'];
$sub = self::get_Menu($menu,$e['id']);
if($sub) $res.='<ul>'.$sub.'</ul>';
$res.='</li>';
}
}
return $res;
}

pero en la linea roja me trae problemas en el framework
sale este error
Fatal error: Maximum function nesting level of '256' reached

el tema es que solo hay 8 elementos del menú

alguna idea de como solucionar eso? sin tener que cambiar xdebug.max_nesting_level
porque de cualquier manera eso recarga el sitio, por lo que lei
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #2 (permalink)  
Antiguo 14/09/2016, 21:21
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: problema con una funcion

Código PHP:
Ver original
  1. final public static function get_Menu($menu){ // <---- solo acepta 1 parametro
  2. $res = '';
  3. foreach($menu as $e) {
  4. if($e['sub'] == $parent || ($parent == -1 && $e['sub'] == 0)) {
  5. $res.='<li>'.$e['link'];
  6. $sub = self::get_Menu($menu,$e['id']); // <------ self::get_Menu($param1,$param2);
  7. if($sub) $res.='<ul>'.$sub.'</ul>';
  8. $res.='</li>';
  9. }
  10. }
  11. return $res;
  12. }
Le estas pasando 2 parámetros a la funcion, la que estas mostrando solo acepta 1

Última edición por molinasergio91; 14/09/2016 a las 21:27

Etiquetas: funcion
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 02:08.