PHP中如何打印指定结构数组?附print_r输出示例
嘿,我看到你用print_r()输出了你的状态数组,但默认输出确实有点乱糟糟的,不好读。这里给你几个实用的小技巧,不管是要更清晰的打印展示,还是要处理数组里的内容都能用得上:
1. 让print_r()输出更规整
如果是在网页环境里输出,给print_r()套个<pre>标签,就能保留数组的缩进结构,瞬间清爽很多:
echo '<pre>'; print_r($checksLists); echo '</pre>';
要是在命令行里运行PHP脚本,print_r()本身就会带缩进,直接用就行。
2. 用JSON格式输出(更易读的结构化展示)
如果想要更标准、美观的结构化输出,用json_encode()加上JSON_PRETTY_PRINT参数,输出的JSON会自动带缩进,不管是看数据结构还是复制传输都很方便:
echo json_encode($checksLists, JSON_PRETTY_PRINT);
3. 遍历数组,逐个打印状态详情
如果需要把每个状态的信息单独提取出来,转成人类友好的格式(比如把时间戳转成日期),可以用循环遍历数组:
// 先确认states数组存在且是有效的数组 if (isset($checksLists['states']) && is_array($checksLists['states'])) { foreach ($checksLists['states'] as $itemNum => $state) { echo "状态条目 #{$itemNum}:\n"; echo "- 状态: {$state['status']}\n"; // 把时间戳转成YYYY-MM-DD HH:MM:SS格式 echo "- 开始时间: " . date('Y-m-d H:i:s', $state['timefrom']) . "\n"; echo "- 结束时间: " . date('Y-m-d H:i:s', $state['timeto']) . "\n\n"; } }
这样输出的每个状态项信息都一目了然,时间戳也变成了易懂的日期格式。
你的数组结构很清晰:外层是一个包含states键的数组,states对应一个子数组列表,每个子数组都存着状态(status)、开始时间戳(timefrom)和结束时间戳(timeto),上面的代码都是基于这个结构来写的,直接用就行~
内容的提问来源于stack exchange,提问作者chandana
相关产品推荐
相关产品推荐

