Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中创建金字塔_Php - Fatal编程技术网

在PHP中创建金字塔

在PHP中创建金字塔,php,Php,我在php中搜索了一些创建以下输出的代码: * * * * * * * * * * * * * * * <pre><?php $n = $i = 5; while ($i--) echo str_repeat(' ', $i).str_repeat('* ', $n - $i)."\n"; ?></pre> 我注意到他们有很多不同的方法来实现这个输出。其他代码是长代码,另一个是短代码 但是有一个代码引起了我的注意。他使用的代

我在php中搜索了一些创建以下输出的代码:

    *
   * *
  * * *
 * * * * 
* * * * * 
<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的左边应该有更多的空格,但如果不是这样,那就需要付出很大的努力了!非常感谢你的插图,我非常感激。