Un print_r() meglio formattato!

March 14th, 2007 by MP

Quante volte vi è toccato stampare totalmente un oggetto o un array perchè non vi tornavano i conti perchè ad esempio il contenuto di una variabile era diverso da quello che vi aspettavate? E quante volte ancora lo avete fatto usando print_r()?

Se la vostra risposta è molte probabilmente troverete utile questo post: come sapete bene print_r è già molto per chi non ha tempo da perdere e necessita di debug veloci e particolarmente chiari. Print_r() è discretamente chiaro ma si può fare di meglio. L'output di print_r è formattato per essere letto testualmente, in una pagina html il risultato non è totalmente apprezzabile anzi è un po' una schifezza. Come ovviare a ciò? Modificare l'output di print_r() con una funzione per sostituire tutti gli spazi generati da print_r() con &nbsp; e i ritorno a capo (\n) con <br>.

La funzione che ci può servire è questa:

PHP:
<?php

function print_r_html($obj) {
     echo "<pre>".str_replace(array("\n" , " "), array("<br>", "&nbsp;"), print_r($obj, true))."</pre>";
}

?>

MP

Posted in PHP Tip/Tricks |

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.