老师帮我分析下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>慕课网</title> </head> <body> <form action="#" method="post"> <input type="text" name="num" placeholder="请输入要打印的行数"> <br/><button text="submit" name="button" value="pyramid">金字塔</button> <button text="submit" name="button" value="rhombus">空心菱形</button> </form> <?php //接收用户提交的数据 $num=$_POST['num']; // if($_POST){ // if($_POST['button']=='pyramid'){ // for($i=1;$i<=$num;$i++){ // for($j=$i;$j<=$num;$j++){ echo '<span style="color:#FFF">*</span>'; } for($a=1;$a<=$i*2-1;$a++){ echo '*'; } echo '<br/>'; } } } ?> </body> </html>
第二个for循环还是不太懂,为什么生成一个倒三角,假设循环4次,不看十三个循环,为什么第二次for循环是4行*(用了样式看不到的*,),第一行是4个,第二行是3个,依次递减,这是怎么回事
0
收起
正在回答
2回答
你好,因为第二个for循环外面还有一城=层for循环,比如num=12,所以第一次是循环为1到12,
如果是第二次循环为2到12,比如我们写出具体的$i值,如:
测试一下代码:
if($_POST['button']=='pyramid'){ for($i=1;$i<=$num;$i++){ for($j=$i;$j<=$num;$j++){ echo '<span style="color:red">'.$j.'</span>'; } // for($a=1;$a<=$i*2-1;$a++){ // echo '*'; // } echo '<br/>'; } } }
如果换成*则为:(从每行12个到每行一个一次递减),
如果解决您的问题请采纳,祝学习愉快!
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星