PHP:空格没有显示在正确的位置


PHP: Spaces are not shown in the right place

这是我的程序,我希望这个程序的输出是 * 递增顺序,但空格没有打印......

    *
  *  *
 *  *  *
* * * * *
<html>
<body>
<?php
$s = '|';
for($i=1;$i<=10;$i++)
{   
    $c=10-$i;
    for($k=1;$k<=$c;$k++) {
            echo '';
    }
    for($j=1;$j<=$i;$j++)
    {
        echo "*";
            echo ' ';
    }
    echo '<br>';
}
?>
</body>
<html>

我得到这个输出:

*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *

如何打印空格?

您需要使用&nbsp;特殊字符来打印空间

尝试在echo '&nbsp;';上编辑您的echo ' ';

而不是行" echo ' ';

用户echo ""&nbsp;";"

 &nbsp;

代码是空间的 HTML

试试这个。

<html>
<body>
<?php
$s = '|';
for($i=1;$i<=10;$i++)
{   
    $c=10-$i;
    for($k=1;$k<=$c;$k++) {
            echo '&nbsp;';
    }
    for($j=1;$j<=$i;$j++)
    {
        echo "*";
            echo '&nbsp;';
    }
    echo '<br>';
}
?>
</body>
<html>

我不确定...但这:)短得多

<?php
$s = '|';
for($i=1;$i<=10;$i++)
{   
    $str = str_pad("*", $i, "*", STR_PAD_BOTH);
    echo str_pad($str, 10, " ", STR_PAD_BOTH);
    echo '<br>';
}
?>

工作代码

使用 &nbsp; 在代码中添加空间。

$s = '|';
for($i=1;$i<=10;$i++)
{   
    $c=10-$i;
    for($k=1;$k<=$c;$k++) {
            echo '&nbsp;';
    }
    for($j=1;$j<=$i;$j++)
    {
        echo "*";
            echo '&nbsp;';
    }
    echo '<br>';
}


输出

         * 
        * * 
       * * * 
      * * * * 
     * * * * * 
    * * * * * * 
   * * * * * * * 
  * * * * * * * * 
 * * * * * * * * * 
* * * * * * * * * * 

而不是echo ' ';echo "&nbsp;"; .