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

2023-05-16

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

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

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

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

dump($array);

 

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

 

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

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

//传递数据以易于阅读的样式格式化后输出
function p($data){
    // 定义样式
    $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;">';
    // 如果是boolean或者null直接显示文字;否则print
    if (is_bool($data)) {
        $show_data=$data ? 'true' : 'false';
    }elseif (is_null($data)) {
        $show_data='null';
    }else{
        $show_data=print_r($data,true);
    }
    $str.=$show_data;
    $str.='</pre>';
    echo $str;
}
p($array);

 希望对大家有所帮助!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以符合人类阅读的方式打印php数组 的相关文章

随机推荐

  • Echarts3 主题设置

    前言 现在此感谢百度Echarts团队提供的这款优秀的开源产品 Echarts是一款原生js写的图表类库 xff0c Echarts能为我们打造一款数据可视化平台提供了良好的图表支持 在如今的前端开发中 xff0c 站点样式主题css 是要
  • 谷歌浏览器开发者工具的使用(掌握!)

    谷歌浏览器开发者工具的使用 xff08 掌握 xff01 xff09 元素 Elements 用于查看或修改HTML元素的属性 CSS属性 监听事件 断点等 控制台 Console 控制台一般用于执行一次性代码 查看JavaScript对象
  • nodeJS中ajax技术

    一 AJAX技术简介 AJAX 即 Asynchronous JavaScript and XML xff08 异步的 JavaScript 与 XML 技术 xff09 xff0c 指的是一套综合了多项技术的浏览器端网页开发技术 AJAX
  • 【无标题】

    一 使用ajax发送post请求 xff1a lt script gt let obtn 61 document getElementById 34 obtn 34 let odiv 61 document getElementById 3
  • jQuery 中 ajax 方法使用(测试get和post请求方式)

    一 jQuery 中 ajax 方法使用 async xff1a 默认设置下 xff0c 所有请求均为异步请求 contentType xff1a 发送信息至服务器时内容编码类型 xff0c 默认为 34 application x www
  • nodeJS中JWT身份认证使用方法与意义

    1 jwt认证机制的工作原理 xff1a 客户端登入提交账号密码 xff0c 服务器端验证通过将用户信息对象经过加密之后生成token字符串 xff0c 服务器进行第一次响应 xff0c 将生成的token字符串相应给客户端保存在local
  • 尚硅谷react课程-day01

    1 初识react 注意 1 引入库的顺序要先引入react核心库在引入react dom库 xff0c 最后引入babel库 2 script标签嵌套的JS代码的开始标签中要添加type 61 34 text babel 34 确保配置j
  • 尚硅谷react课程-day02

    目录 1 函数式组件 2 原型链 3 原型链查找机制 4 类式组件 5 利用react类定义虚拟dom方法对模块中HTML标签内容的修改 实现点击文字部分内容发生改变 5 类方法中的this指向问题 6 bind 方法 7 对于react三
  • 尚硅谷react课程-day03

    目录 1 对类组件中方法总结 xff1a 2 组件实例第二大属性prop方法 2 1 react中prop方法解构赋值 3 对porps传递的数据进行限制 4 类式组件中构造器与props关系 1 对类组件中方法总结 xff1a 1 cla
  • 配置树莓派4B+Ubuntu-22.04.2+Intel Realsense T265

    准备 xff1a 树莓派4b Ubuntu 22 04 2 T265 开始玩树莓派和T265时配置环境配置了半天 xff0c 各种报错 xff0c 在不熟悉这些的情况下想要配置一个稳定不报错的系统就只有不断的尝试 xff0c 再重装了10次
  • 节点基础~节点操作

    一 创建和添加节点 1 创建节点 document createElement 方法创建由tagName指定的 HTM元素 因为这些元素原先不存在 xff0c 是根据我们的需求动态生成的 xff0c 所以我们也称为动态创建元素节点 2 添加
  • workerman-chat启动后,前台无法访问

    去阿里云的安全组 xff0c 添加规则 xff1a 55151和7272 启动GatewayWorker的命令 xff0c 注意 xff1a 这个需要在linux服务器 xff0c 到api文件夹下运行 xff08 就是有think文件 x
  • 基于FreeRTOS实现温湿度识别

    实验说明 xff1a 本实验主要利用freeRTOS创建多任务实现温湿度检测与点亮LED xff0c 并在串口上输出相应温湿度和LED亮灭情况 xff1b 一 实验用材 1 DHT11温湿度传感器模块 2 stm32f103c8t6最小系统
  • 操作系统学习笔记

    文章目录 一 概述1 什么是操作系统2 操作系统的作用3 操作系统的发展史4 操作系统的分类5 现代操作系统的主要特点 二 进程控制1 进程的基本概念2 进程控制的基本概念3 同步和互斥4 进程通信5 线程和管程的基础概念6 死锁 三 处理
  • django注册功能密码加密存储

    1 编写模型类 class User models Model username 61 models CharField max length 61 16 verbose name 61 39 账号 39 password 61 model
  • Node.js【未完成】

    Node js node介绍和环境安装 Node js 简介 1 什么是 Node js Node js is a JavaScript runtime built on Chrome s V8 JavaScript engine Node
  • Pygame简介

    第一课Pygame简介 Pygame 是一个游戏库 xff0c 通常用于在 Python 中创建 2 D 游戏 它具有许多重要功能 xff0c 例如碰撞检测 声音和音乐 图形 事件系统等等 Pygame安装 在我们向您介绍任何 Pygame
  • Vue2---生命周期钩子

    生命周期钩子 所有生命周期钩子的 this 上下文将自动绑定至实例中 xff0c 因此你可以访问 data computed 和 methods 这意味着你不应该使用箭头函数来定义一个生命周期方法 会使this指向window 1 befo
  • MySQL--复合查询--内外链接--0422

    注 xff1a 为了方便查看 mysql语句会有突然的换行 xff0c 书写时请勿模仿 目录 1 单表查询回顾 显示工资最高的员工的名字和工作岗位 显示工资高于平均工资的员工信息 2 多表查询 比如需要查询雇员名字和所在部门编号及部门名字
  • 以符合人类阅读的方式打印php数组

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