使用php的星号金字塔,当圈时

时间:2016-10-22 18:26:03

标签: php

$i=0; $j=5; $k=0;

while($i < 5 ) {
    while($j > $i){
        echo " ";
        $j--;
    }
    while($k <= $i){
        echo '*';
        ++$k;
    }       

    echo "<br/>";
    $i++;
}

我正在尝试使用带有php的while循环创建星号金字塔,但输出为图像封闭。星号字符不显示金字塔。而不仅仅是单行:

output from above code

请赐教我代码的错误。

2 个答案:

答案 0 :(得分:1)

你必须在while($ i <5)的每次迭代时设置$ j = 5和$ k = 0。 此外,Web浏览器会将您的空格字符''转换为一个空格。因此,您需要使用“&nbsp;”html字符来查看带有更多空格的结果。

$i=0; $j=5; $k=0;

while($i < 5 ) {
    $j=5; $k=0;

    while($j > $i){
        echo "&nbsp;";
        $j--;
    }
    while($k <= $i){
        echo '*';
        ++$k;

    }


    echo "<br/>";
    $i++;
}

输出屏幕:http://imgur.com/VnQERDZ

答案 1 :(得分:1)

<pre><?php

$left  = 4;
$right = 4;
$i = 0;

while($i < 5 ) {
     $j=0;
     while($j<11){
        if($j >= $left  &&  $j <= $right){
               echo "*";
         }else{
                 echo " ";
          }
        $j++;
    }

 echo "<br>";
 $left--;$right++;
 $i++;

} ?&GT;

尝试这个,如果你有兴趣只使用while循环,但尝试理解流程并学习和调试你的问题