hola a todos tengo un problema con una funcion recursiva, tengo 2 array uno con el ID de entidades ($entidad) y otro donde dice de quien depende dependencia ($dependencia), a la funcion le paso la variable $depend que es el valor de la raiz el problema lo tengo cuando llamo de vuelta a la funcion y le paso otros parametros se me cuelga el apache todo mal a ver si alguien me puede ayudar
 
saludos y gracias a todos. les dejo el codigo a ver si me ayudan 
ACLARACION si saco la linea de la recursion funciona, pero me da un nivel del arbol gracias a todos por su tiempo.  
Código:
 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]));
}