De rápido se me ocurrió algo como:
Código PHP:
function My_print_r($arr) { // :-D que tonteria
echo "$arr\n";
if(is_array($arr)) {
echo "{\n";
foreach($arr as $key => $val) {
echo "\t[$key] => ";
My_print_r($val);
}
echo "}\n";
}
}
... traté de igualar el comportamiento de print_f() pero no le hayo cómo controlar los "niveles" --al imprimir-- que no sea pasando como parámetro el número de recursión... quizá no haya de otra
![borracho](http://static.forosdelweb.com/fdwtheme/images/smilies/borracho.png)
pero es lo de menos. El caso es que sí recorre toda la matríz y solo emplea un foreach() y un is_array() --relativamente "limpia"--, quiero suponer sabrás adaptarla y/o te dará idea al menos....
Un ejemplo:
Código PHP:
<?php
$matriz= array("1", "2"=>array("2.1", "2.2"=>array("2.2.2", "2.2.3"), "2.3"), "3"); // lo acabo de inventar
function My_print_r($arr) { // :-D que tonteria
echo "$arr\n";
if(is_array($arr)) { // si es una matriz
echo "{\n";
foreach($arr as $key => $val) { // Desglozas
echo "\t[$key] => ";
My_print_r($val); // recursión
}
echo "}\n";
}
}
// comparemosla
echo "<pre>";
echo "Con My_print_r()\n";
My_print_r($matriz);
echo "\n\nCon print_r()\n";
print_r($matriz);
echo "</pre>";
?>
Ojalá y encuentres la función
DarioDario. Saludos!