在PHP中创建金字塔
我在php中搜索了一些创建以下输出的代码:在PHP中创建金字塔,php,Php,我在php中搜索了一些创建以下输出的代码: * * * * * * * * * * * * * * * <pre><?php $n = $i = 5; while ($i--) echo str_repeat(' ', $i).str_repeat('* ', $n - $i)."\n"; ?></pre> 我注意到他们有很多不同的方法来实现这个输出。其他代码是长代码,另一个是短代码 但是有一个代码引起了我的注意。他使用的代
*
* *
* * *
* * * *
* * * * *
<pre><?php
$n = $i = 5;
while ($i--)
echo str_repeat(' ', $i).str_repeat('* ', $n - $i)."\n";
?></pre>
我注意到他们有很多不同的方法来实现这个输出。其他代码是长代码,另一个是短代码
但是有一个代码引起了我的注意。他使用的代码太短,对我来说很有趣,但我不知道他是怎么做到的,因为他没有留下任何解释。代码是:
我不知道代码是如何工作的。我认为$n=$I=5
是循环的?我说得对吗?这里有没有人可以向我解释代码是如何与模拟一起工作的
我在
欢迎您的任何回答,我们将不胜感激。谢谢你们 您的代码:*
循环2:
$i=4
(true)并将$i
递减1,现在$i=3
str\u repeat(“”,$i)
,表示将空白打印3次然后
打印“*”
$n-$i
(5-3=2)次当前输出:
*
* *
*
* *
* * *
*
* *
* * *
* * * *
*
* *
* * *
* * * *
* * * * *
循环3:
$i=3
(true)并将$i
递减1,现在$i=2
str\u repeat(“”,$i)
,表示将空白打印两次然后
打印“*”
$n-$i
(5-2=3)次当前输出:
*
* *
*
* *
* * *
*
* *
* * *
* * * *
*
* *
* * *
* * * *
* * * * *
循环4:
$i=2
(true)并将$i
递减1,现在$i=1
str\u repeat(“”,$i)
,表示将空白打印1次然后
打印“*”
$n-$i
(5-1=4)次当前输出:
*
* *
*
* *
* * *
*
* *
* * *
* * * *
*
* *
* * *
* * * *
* * * * *
循环5:
$i=1
(true)并将$i
递减0,现在$i=0
str\u repeat(“”,$i)
,表示打印空白0次然后
打印“*”
$n-$i
(5-0=5)次当前输出:
*
* *
*
* *
* * *
*
* *
* * *
* * * *
*
* *
* * *
* * * *
* * * * *
循环6:
$i=0
(false)和循环中断代码不是很能自我解释吗?我真的不明白这里有什么不清楚的地方。你问题的答案是否定的,$n=$I=5代码>不是for循环。对不起,如果我听起来很粗鲁,但你应该从一个基本的PHP教程开始。你不明白哪一行#1输出
并切换到PHP#2将两个变量的值设置为5#3开始一个循环,直到其中一个变量为假值(0)#4.从上到下回音一条金字塔线#5退出PHP并输出结束语
,如果您扮演PHP解释器的角色,您可以轻松理解代码的工作原理;用铅笔和纸逐行“运行”代码。在每行代码中,计算遇到的表达式的值,并在一张纸上更新变量的新值。使用另一张纸保存程序的输出。这个练习将帮助你理解计算机程序是如何工作的,不管它们是用什么语言编写的。@axiac:这是一个很好的方法。使用电子表格也可以做同样的事情,每个单元格记录空格/星号字符,以及每个步骤的变量值。每个输出1-4的左边应该有更多的空格,但如果不是这样,那就需要付出很大的努力了!非常感谢你的插图,我非常感激。