如何用PHP实现如下样式的数字金字塔?
PHP实现指定样式数字金字塔的正确方案
预期效果
1 212 32123
现有代码问题
你当前的代码分为两个独立循环,分别输出倒序数字和正序数字,无法组合出对称的金字塔结构,同时缺少居中所需的前置空格处理,因此达不到预期效果。
正确实现代码
<?php $rows = 3; // 可修改为需要的金字塔层数 for ($i = 1; $i <= $rows; $i++) { // 输出前置空格,实现金字塔居中对齐 echo str_repeat(" ", $rows - $i + 1); // 输出从当前层数倒序到1的数字 for ($j = $i; $j >= 1; $j--) { echo $j; } // 输出从2到当前层数的数字,补全对称结构 for ($j = 2; $j <= $i; $j++) { echo $j; } echo "<br>"; } ?>
代码说明
$rows控制金字塔的总层数,示例中设置为3,与需求匹配str_repeat(" ", $rows - $i + 1)生成每行的前置空格,确保金字塔居中,层数越靠后,前置空格越少- 第一个内层循环生成从当前层数递减到1的数字,构建金字塔左半部分
- 第二个内层循环生成从2递增到当前层数的数字,构建金字塔右半部分(避免重复输出1)
- 每行结束后输出
<br>实现换行
内容的提问来源于stack exchange,提问作者Rizky Setiawan
相关产品推荐
相关产品推荐

