我想打印星形图案

时间:2016-11-24 01:50:16

标签: php

我想打印星形图案,如:

enter image description here 下面是我的代码。但它对我不起作用。我该如何解决这个问题。     

for($i=1; $i<=5; $i++){
    for($j=5; $j>$i; $j--){
        echo " ";
    }
    echo "*";
    for($j=1; $j<($i-1)*2; $j++){
        echo " ";
    }
    if($i==1)echo "<br>";
    else echo "*<br>";
}

for($i=4; $i>=1; $i--){
    for($j=5; $j>$i; $j--){
        echo " ";
    }
    echo "*";
    for($j=1; $j<($i-1)*2; $j++){
        echo " ";
    }
    if($i==1)echo "<br>";
    else echo "*<br>";
}

?>

3 个答案:

答案 0 :(得分:0)

您应该将所有应该保留的文字放在<pre/>标记

之间,而不是修剪空白
<pre><?php
for($i=1; $i<=5; $i++){
    for($j=5; $j>$i; $j--){
        echo " ";
    }
    echo "*";
    for($j=1; $j<($i-1)*2; $j++){
        echo " ";
    }
    if($i==1)echo "<br>";
    else echo "*<br>";
}

for($i=4; $i>=1; $i--){
    for($j=5; $j>$i; $j--){
        echo " ";
    }
    echo "*";
    for($j=1; $j<($i-1)*2; $j++){
        echo " ";
    }
    if($i==1)echo "<br>";
    else echo "*<br>";
} ?></pre>

注意:如果您的目标是控制台和PHP-CLI,请不要放置<pre/>标记,省略PHP标记的末尾(?>)并替换所有<br/>标记为\n

答案 1 :(得分:0)

感谢你们所有人。我在代码之前添加<pre>标记,并使用\ n更改<br>标记,现在它可以正常工作。再次感谢。祝你们度过愉快的一天..

答案 2 :(得分:0)

尝试一下...

function printPattern($n) 
{ 

$k = 0; 

// Print upper triangle 
for ($i = 1; $i <= $n; $i++)  
{ 

    // Print spaces 
    for ($j = 1; $j <= $n - $i; $j++)  
    { 
        echo " "; 
    } 

    // Print # 
    while ($k != (2 * $i - 1))  
    { 
        if ($k == 0 or $k == 2 * $i - 2) 
            echo "*"; 
        else
            echo " "; 
        $k++; 
    } 
    $k = 0; 

    // move to next row 
    echo "\n"; 
} 
$n--; 

// Print lower triangle 
for ($i = $n; $i >= 1; $i--) 
{ 

    // Print spaces 
    for ($j = 0; $j <= $n - $i; $j++)  
    { 
        echo " "; 
    } 

    // Print # 
    $k = 0; 
    while ($k != (2 * $i - 1))  
    { 
        if ($k == 0 or $k == 2 * $i - 2) 
            echo "*"; 
        else
            echo " "; 
        $k++; 
    } 
    echo "\n"; 
} 
} 

// Driver Code 
$n = 6; 
printPattern($n); 

// This Code is contributed by mits  
?>