Удобочитаемый print_r()

Для просмотра содержимого массивов мы часто используем такую полезную функцию php, как print_r(). Но результат ее работы на выходе получается малопривлекательным и тем более совсем не удобочитаемым. И самый, казалось бы, логичным решением было бы обернуть ее в тег <pre>.

Но мы пойдем немного дальше и сделаем для этой функции "обертку", благодаря которой информация на выходе будет приятно читаться и не напрягать зрение.

Наша функция-обертка будет называться кратко и лаконично: PR(array). Аргументом она будет принимать нужный нам массив. Ниже приведен код функции и пример работы.

<?
function PR($array)
{
	$bt =  debug_backtrace();
	$bt = $bt[0];
	$dRoot = $_SERVER["DOCUMENT_ROOT"];
	$dRoot = str_replace("/","\\",$dRoot);
	$bt["file"] = str_replace($dRoot,"",$bt["file"]);
	$dRoot = str_replace("\\","/",$dRoot);
	$bt["file"] = str_replace($dRoot,"",$bt["file"]);
	?>
	<div style='font-size:9pt; color:#000; background:#fff; border:1px dashed #000;'>
	<div style='padding:3px 5px; background:#99CCFF; font-weight:bold;'>File: <?=$bt["file"]?> [<?=$bt["line"]?>]</div>
	<pre style='padding:10px;'><?print_r($array)?></pre>
	</div>
	<?

}
$myArray = array("apple", "firm", 48, array("image"=>"/images/pic.jpg", "id"=>58));
PR($myArray);
?>

На выходе мы получим такую картину: