人类阅读的优越方式打印php数组

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

$array=array(
    't0'=>'test0','t1'=>'test1','t3'=>(
        'tt0'=>'test0','tt1'=>'test1','tt3'=>'test3',
        )
    );

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

1 print_r($array);

我想除了超神级别的眼力;
一般人是很难阅读的;
还好thinkphp为我们准备了一个靠谱点的dump函数;
效果是这样的:

1 dump($array);

dump临时用来打印小数组还可以凑合;
如果打印一个结构复杂的数组;
这种样式依然不够直观;
而且;对于php这种弱类型语言来说;
数组元素的类型以及长度很多时候并没有那么重要;
都展示出来;太乱了;
于是手写一个p函数,效果是这样的;

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

怎么样;
世界瞬间干净整洁了吧;
之所以加上2个 <hr> 标签;
主要是为了同时p多个数组时,
有个横线来分界;
在相当长一段时间内都是使用这样一个简陋的函数;
直到有一天发现了 bootstrap 对 <pre> 的样式定义;
于是p函数就 升级为了这个样子;
效果是这样的:

 1 //传递数据以易于阅读的样式格式化后输出
 2  3      定义样式
 4     $str='<pre style="display: block;padding: 9.5px;margin: 44px 0 0 0;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;">' 5      如果是boolean或者null直接显示文字;否则print
 6     if (is_bool()) {
 7         $show_data=$data ? 'true' : 'false' 8     }elseif (is_null( 9         $show_data='null'10     }else{
11         $show_data=true);
12     }
13     $str.=$show_data14     $str.='</pre>'15     echo $str16 17 p($array);

感谢大家阅读到这里~~~

相关文章

文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Onl...
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在...
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代...
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔...
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了...
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安...