Pavlox:
Cita: function depende($entidad,$dependencia,$depend)
{
$i=0;
do
{
if($dependencia[$i]==$depend)
{
global $dep;
$dep[]=$entidad[$i];
depende($entidad,$dependencia,$entidad[$i]); // aca llamo de vuelta a la misma funcion
}
$i++;
}while(isset($dependencia[$i]));
}
Cuando $dependencias[$i] NUNCA ES IGUAL A $depend, todo debe ir bien.
Ahora cuando $dependencias[$i] ES IGUAL A $depend,
llamas a la funcion nuevamente y la variable $i la pones en 0 nuevamente;
es decir que mientras exista IGUALDAD va a estar dando vueltas y vueltas.
Recomendacion:
La llamada a la misma funcion es mejor crear otra funcion para no enredarse.
Replantea lo que quieres hacer para rediseñar todo de nuevo, ya que se
ve muy confuso!!!.
Saludos
Franco