
本文介绍一种不使用任何 `for`、`while` 等循环语句,仅借助字符串重复函数 `str_repeat()` 和逻辑排布,高效生成标准黑白相间国际象棋棋盘 html 表格的方法。
国际象棋棋盘是典型的 8×8 交替着色网格,每行由 4 组“黑-白”或“白-黑”单元格构成,且奇偶行颜色模式相反。利用这一规律,我们完全可绕过传统循环,转而采用 PHP 内置的 str_repeat() 函数进行声明式构建。
核心思路如下:
- 每行含 8 个
单元格,宽度统一为 20px,高度 40px; ";- 偶数行(第 1、3、5、7 行)以黑色起始:
重复 4 次; - 奇数行(第 2、4、6、8 行)以白色起始:
重复 4 次; - 整个棋盘共 8 行 → 将「一行黑起始 + 一行白起始」视为一个 2 行单元,重复 4 次即可。
以下是完整、可直接运行的代码实现:
<table width="270px" cellspacing="0" cellpadding="0" border="1px" bordercolor="gray"> <?php $td = '<td height="40px" width="20px" bgcolor='; $black = "$td'black'></td>"; $white = "$td'white'></td>"; echo str_repeat( "<tr>" . str_repeat($black . $white, 4) . "</tr>" . "<tr>" . str_repeat($white . $black, 4) . "</tr>", 4 ); ?> </table>✅ 优势说明:
DeepBI DHTML 页面生成器下载生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
立即学习“PHP免费学习笔记(深入)”;
- 零循环语法,符合题目约束;
- 仅 3 行 PHP 逻辑,简洁、高效、易维护;
- str_repeat() 是原生 C 实现,性能优于解释型循环;
- 输出结构严格符合 HTML 表格规范(闭合
/ ,无拼接错误)。
⚠️ 注意事项:
- bgcolor 属性在 HTML5 中已弃用(推荐改用 CSS style="background-color:"),若需合规性升级,可将 $black 改为 "$td'black' style='background-color:black;'>
- 偶数行(第 1、3、5、7 行)以黑色起始:
- 表格总宽度 270px = 8 × 20px + 1px 左右边框(因 border="1px" 会额外增加像素),实际渲染可能略有偏差,建议改用 CSS box-sizing: border-box 或显式设置 width: 160px(纯内容宽)+ 外边框控制;
- 此方法依赖棋盘严格的周期性(2 行 × 4 组),不适用于动态尺寸或非规则着色逻辑——如需扩展性,仍应优先考虑循环或函数式递归。
综上,str_repeat() 不仅是替代循环的巧妙技巧,更是函数式思维在 PHP 中的一次轻量实践:用数据模式代替控制流,让代码更接近“所见即所得”的声明本质。


















