PHP二维数组输出有五种常用方式:一、print_r()用于调试,显示可读结构;二、var_dump()展示类型与长度;三、foreach生成HTML表格;四、json_encode()转JSON格式;五、implode()与array_map()组合导出CSV。

如果您需要在PHP中将二维数组以不同格式输出展示,以便于调试、前端渲染或数据导出,则需根据使用场景选择合适的输出方式。以下是几种常见的二维数组格式化输出方法:
一、使用print_r()函数输出可读性格式
该方法适用于开发调试阶段,能清晰显示数组结构、键名和值,保留嵌套层级关系,输出为人类可读的文本格式。
1、在PHP脚本中定义一个二维数组,例如:$data = [['name' => '张三', 'age' => 25], ['name' => '李四', 'age' => 30]];
2、调用print_r()函数并启用true参数获取返回值,避免直接输出干扰HTML结构:echo '' . print_r($data, true) . '
';
立即学习“PHP免费学习笔记(深入)”;
3、若在Web环境中使用,包裹
标签确保缩进与换行正常显示。二、使用var_dump()函数输出详细类型信息
该方法不仅显示数组内容,还明确标出每个元素的数据类型、长度及结构深度,适合排查类型错误或空值问题。
1、保持原有二维数组定义不变。
2、执行输出语句:echo '
'; var_dump($data); echo '';3、注意var_dump()会递归显示所有子元素类型,对深层嵌套数组可能产生大量输出。
三、使用foreach嵌套循环生成HTML表格
该方法将二维数组逐行映射为HTML表格的
与 结构,适用于在网页中直观展示结构化数据。 1、检查数组是否非空且为索引数组或关联数组:if (!empty($data) && is_array($data)) {
2、输出
起始标签,并遍历外层数组:echo '
';
'; 姓名 年龄 3、对每一行子数组进行字段提取并生成
:foreach ($data as $row) { echo ' '; } ' . htmlspecialchars($row['name']) . ' ' . (int)$row['age'] . ' 4、闭合表格标签:echo '
四、使用json_encode()输出JSON字符串格式
该方法将二维数组转换为标准JSON格式字符串,便于前后端交互、API响应或存储为文本文件。
1、确保数组中不含资源类型或不可序列化内容。
2、调用json_encode()并设置JSON_UNESCAPED_UNICODE标志支持中文字符:echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
3、如需输出到浏览器并正确识别类型,可添加HTTP头:header('Content-Type: application/json; charset=utf-8');
五、使用implode()与array_map()组合生成CSV格式字符串
该方法将二维数组按行拼接为逗号分隔的纯文本,兼容Excel等表格软件导入,适合轻量级数据导出。
1、定义字段顺序映射,例如:$keys = ['name', 'age'];
2、使用array_map处理每行数据,对字段值做转义(如含逗号则加双引号):$rows = array_map(function($row) use ($keys) { return '"' . str_replace('"', '""', $row[$keys[0]]) . '","' . $row[$keys[1]] . '"'; }, $data);
3、合并所有行为完整CSV内容:$csv = implode("\n", $rows); echo $csv;










