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

如何镜像使用嵌套for循环生成的三角形图案 附现有代码参考

PHP嵌套for循环生成镜像三角形教程

你现有代码的逻辑解析

你写的这段7行右对齐左三角代码的执行逻辑如下:

  • 外层for($x=1;$x<8;$x++):控制总输出行数,共输出7行
  • 第一层内层循环for($y=8;$y>=$x;$y--):每行开头输出8-x组&nbsp;&nbsp;&nbsp;,作用是给星号留出左侧空白,实现右对齐效果
  • 第二层内层循环for($z=1;$z<=$x;$z++):每行输出x个带空格的星号*
  • 末尾输出<br>完成单行星号+空白的渲染,进入下一行循环

镜像三角形实现代码

1. 原左对齐三角的水平镜像(右对齐,星数逐行增加)

// 输出10行右对齐三角,和原左三角水平镜像
for($x=0; $x<10; $x++) {
  echo '<br>';
  // 先输出左侧空白,数量为总行数-当前行星数
  for($k=0; $k<10-$x; $k++) {
    echo '&nbsp;';
  }
  // 输出对应数量的星号
  for($y=0; $y<$x; $y++) {
    echo '*';
  }
}

2. 原左对齐三角的上下镜像(倒左三角,星数逐行减少)

// 输出10行倒左对齐三角,和原左三角上下镜像
for($x=9; $x>=0; $x--) {
  echo '<br>';
  for($y=0; $y<$x; $y++) {
    echo '*';
  }
}

3. 基于你现有代码生成对称等腰三角(左右镜像合并)

for($x=1;$x<8;$x++){
    // 输出左侧空白
    for($y=8;$y>=$x;$y--){
        echo "&nbsp;&nbsp;&nbsp;";
    }
    // 输出左半部分星号
    for($z=1;$z<=$x;$z++){
        echo "* ";
    }
    // 新增右半部分镜像星号,比左半少1个避免中间星号重复
    for($z=1;$z<$x;$z++){
        echo "* ";
    }
    echo "<br>";
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:36:04