for($r=1;$r<=$rows;$r++){
    for($n=$rows;$n>$r;$n--){
echo "&nbsp";
}
    for($m=0;$m<$r ;$m++){
echo "*";
}
echo "<br>";
}
为了实现
但是现在变成了是我算法的问题吗?我用IE浏览器打开,默认GB2312字符集的话显示的就是正确的,UTF-8显示的就是不对。
请问是字符集的问题才出现这样的情况吗,如何解决?谢谢!~

解决方案 »

  1.   

    当然不是算法问题!
    本来这种题目是在文本方式下测试的,你放到html中当然是要有些问题的$rows = 12;
    echo '<pre>';
    for($r=1;$r<=$rows;$r++){
      for($n=$rows;$n>$r;$n--){
        echo " ";
      }
      for($m=0;$m<$r ;$m++){
        echo "*";
      }
      echo PHP_EOL;
    }这样就不变形了
      

  2.   


    果然啊!那意思是直接放到HTML里面,是产生了什么问题呢才导致变形了..是因为换行符和空格符在HTML中占用字符不同的原因吗?
      

  3.   

    css设置文本右对齐应该可以吧
      

  4.   

    &nbsp; 才对