• 以符合人类阅读的方式打印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);

    1.jpg

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

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

    1
    var_dump($array);

    2.jpg

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

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

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

    3.jpg

    怎么样;世界瞬间干净整洁了吧,之所以加上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-breakbreak-all;word-wrap: break-word;#F5F5F5;
        border: 1px solid #CCC;border-radius: 4px;">'.print_r($data,true).'</pre>';
    }
    p($array);

    4.jpg

    再次深深感谢bootstrap;

  • 相关阅读:
    socket入门教程
    线程间操作无效: 从不是创建控件“xxxxxxxx”的线程访问它。
    Socket教程
    Windows 2008 R2防火墙,允许被ping
    Miller_rabin算法+Pollard_rho算法 POJ 1811 Prime Test
    Pollard rho算法+Miller Rabin算法 BZOJ 3668 Rabin-Miller算法
    Miller-Rabin算法 codevs 1702 素数判定 2
    快速幂 cojs 1130. 取余运算
    中国剩余定理 hdu 3579
    中国剩余定理 hdu 1573 X问题
  • 原文地址:https://www.cnblogs.com/shuaibai123/p/4743925.html
Copyright © 2020-2023  润新知