Hola, tengo el siguiente script (en realidad es una prueba, simplifico las cosas para comprobar qué falla) y me gustaría saber qué estoy haciendo mal:
Código PHP:
<?php
$_array=array('valor_1','valor_2',array('valor_1_1',array('valor_1_1_1','valor_1_1_2'),'valor_1_2'),'valor_3');
$_referencia=& Busca($_array,false);
print_r($_referencia);
/* Si b = true, devuelve la referencia al array */
function &Busca(&$a,$b)
{
if(!$b) {
foreach($a as $primer_nivel)
if(is_array($primer_nivel))
foreach($primer_nivel as $segundo_nivel)
if(is_array($segundo_nivel))
Busca($segundo_nivel,true);
} else return $a;
}
?>
Probablemente existan muchas otras formas de lograr lo que deseo hacer, pero me gustaría saber cuál es error.
Muchas gracias y un saludo, que me estoy poniendo espeso ya...

Nota: PHP Version 5.0.4