You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP嵌套for循环如何实现空心矩形星号图案打印输出

问题修正方案

你原有代码的核心问题有两个:

  • 额外多写了一套嵌套循环,且第二套循环内外层都使用$i作为计数变量,存在变量名冲突、逻辑冗余的问题
  • 内层循环没有做位置判断,所有位置都直接输出*,因此只能得到实心矩形

实现逻辑

11行11列的空心矩形只需要一套双层循环即可实现,判断规则非常明确:

  • 若当前行为第一行(行索引为0)或最后一行(行索引为10),整行所有位置都输出*
  • 若当前行为中间行,仅当当前列为第一列(列索引为0)或最后一列(列索引为10)时输出*,其余位置输出空格
  • 注意:web页面中连续普通空格会被浏览器折叠为1个,因此要使用 作为空格占位才能保证排版对齐;如果是命令行环境运行,直接输出普通空格即可

修改后完整代码

<?php include('includes/header.php'); ?>

<div class="middlecontainer">
    <?php
    // 行、列计数范围0-10,共11个单位长度
    for ($i = 0; $i <= 10; $i++) {
        for ($j = 0; $j <= 10; $j++) {
            // 命中边框规则就输出*,否则输出空格占位
            if ($i == 0 || $i == 10 || $j == 0 || $j == 10) {
                echo '*';
            } else {
                echo '&nbsp;';
            }
        }
        echo '<br />';
    }
    ?>
</div>
<?php include('includes/footer.php'); ?>

运行上述代码就能得到你预期的空心矩形效果。

内容的提问来源于stack exchange,提问作者Fake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:57:28