以符合人类阅读的方式打印php数组

在程序开发过程中;打印数据进行查看调试是非常频繁的;如果没有一种易于阅读的样式那是相当痛苦的;

先定义一个数组;

1
2
3
4
5
6
7
8
9
$array = array (
     't0' => 'test0' ,
     't1' => 'test1' ,
     't3' => array (
         'tt0' => 'test0' ,
         'tt1' => 'test1' ,
         'tt3' => 'test3' ,
         )
     );

如果用php系统函数print_r打印,出来的效果是这样的;

1
print_r( $array );

以符合人类阅读的方式打印php数组_第1张图片

我想除了超神级别的眼力,一般人是很难阅读的;

还好php为我们准备了一个稍微靠谱点的var_dump函数,效果是这样的:

1
var_dump( $array );

以符合人类阅读的方式打印php数组_第2张图片

var_dump临时用来打印小数组还可以凑合;如果打印一个结构复杂的数组,或者长期开发一个项目,这种样式依然看着不美观;

于是手写一个p函数,效果是这样的;

1
2
3
4
function  p( $data ){
     echo  '<hr><pre>' .print_r( $data ,true). '<pre><hr>' ;
}
p( $array );

以符合人类阅读的方式打印php数组_第3张图片

怎么样;世界瞬间干净整洁了吧,之所以加上2个<hr>标签;主要是为了同时p多个数组时,有个横线来分界;

在相当长一段时间内都是使用这样一个简陋的函数,直到有一天发现了bootstrap对<pre>的样式定义;于是p函数就 升级为了这个样子;效果是这样的:

1
2
3
4
5
6
function  p( $data ){
     echo  '<pre style="display: block;padding: 9.5px;margin: 0px 0px 10px;font-size: 13px;line-height: 1.42857;
     color: #333;word- break break -all;word-wrap:  break -word;background-color: #F5F5F5;
     border: 1px solid #CCC;border-radius: 4px;"> '.print_r($data,true).' </pre>';
}
p( $array );

以符合人类阅读的方式打印php数组_第4张图片

再次深深感谢bootstrap;

你可能感兴趣的:(以符合人类阅读的方式打印php数组)