Ya lo solucioné, el problema estaba en que agregaba al array de hijos completo, y debia hacerlo agregando uno a uno sus hijos jaja xD
dejo la solución por si a alguien le sirve la función:
Código PHP:
private function ordenarPaginasJerarquicamente($padre,$paginas,$prefijo){
$resultado=array();
foreach($paginas as $pagina){
if($pagina->id_padre==$padre){
$pagina->titulo=$prefijo.$pagina->titulo;
array_push($resultado,$pagina);
$hijos=$this->ordenarPaginasJerarquicamente($pagina->id,$paginas,$prefijo.$prefijo);
if(count($hijos)){
foreach ($hijos as $hijo) array_push($resultado,$hijo);
}
}
}
return $resultado;
}