如何用PHP for循环输出指定数量带不同背景色的column类div?
代码无输出的原因
你写的代码存在语法错误:echo语句外层用了双引号,内部包裹HTML属性的引号也用了双引号,PHP解析时会把内部的双引号识别为字符串结束标记,直接触发语法报错,导致代码无法运行,自然没有输出。
实现多颜色盒子的修复代码
你可以预先定义好颜色数组,循环时按索引取用对应颜色即可,修复后的完整代码如下:
<?php // 自定义需要的背景色列表 $colorList = ['pink', 'purple', 'blueviolet', 'blue', 'rebeccapurple', 'royalblue', 'red', 'yellow', 'green', 'greenyellow']; // 要生成的盒子数量,可自行调整数值 $boxNum = 10; // 输出外层row容器 echo '<div class="row">'; for ($i = 0; $i < $boxNum; $i++) { // 取当前索引对应的颜色,超出颜色数量时自动循环复用 $color = $colorList[$i % count($colorList)]; // 输出盒子,HTML属性改用单引号避免引号冲突 echo "<div class='column' style='background-color:{$color};'></div>"; } echo '</div>'; ?>
其他可选方案
如果你不需要固定颜色,也可以用随机生成十六进制颜色的方式,不需要提前定义颜色列表:
function randomColor() { return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT); } $boxNum = 10; echo '<div class="row">'; for ($i = 0; $i < $boxNum; $i++) { $color = randomColor(); echo "<div class='column' style='background-color:{$color};'></div>"; } echo '</div>';
内容的提问来源于stack exchange,提问作者S.R
相关产品推荐
相关产品推荐

