php输出金字塔
1. 使用php弄出金字塔图形
<?php
$n=10;//行数
for($i=0;$i<=$n;$i++)//控制行
{
for($k=1;$k<=$n-$i;$k++)//控制*前面的空格
{
echo' ';
}
for($b=1;$b<=($i-1)*2+1;$b++)//控制列
{
echo'*';
}
echo'<br/>';
}
?>
2. 用PHP语言打印输出对应的“*”金字塔。n=4
$n=4;
for($i=1;$i<=$n;$i++){
for($k=1;$k<=$n-$i;$k++){
echo " ";
}
for($j=1;$j<=($i-1)*2+1;$j++){
echo "*";
}
echo "<br/>";
}
这个是比较简单的写法,你也可以进行优化,主要是要理清思路,可以用纸画出金字塔的图形,第一行是1个*,第二行是3个*,以此类推得出规律,多思考一下,一理通百理通
3. PHP用for循环打印金字塔
($i-1)是行数减1
($i-1)*2+1是算出这一行应该有的*号个数
4. 用PHP打印输出对应的“*”金字塔。如N
<?php
$n = 20;
for ($i = 1; $i <= $n; $i ++) {
if ($i % 2 == 0)
continue;
$pcnt = floor(($n - $i)/2);
echo str_repeat(' ', $pcnt), str_repeat('*', $i), str_repeat(' ', $n - $i - $pcnt), PHP_EOL;
}
5. PHP同样的代码输出一个金字塔,空格的表示问题,用全角的空格不是和 一样么,
这是字体的问题了,浏览器默认字体不是等宽的。
在前面加上 echo '<pre>'; 就好了
6. 想知道php应该如何用while打印靠右的半金字塔,就是像图片这样的,谢谢
你那边运行此代码的话可能不是右对齐,那是因为*和空格宽度不一样,我这个是加了font-family: Consolas, Monaco, monospace; 样式才对齐的,,你把代码放在命令行下运行 就能对齐了
7. 新人求助,学习需要,想要个php输出从1到100金字塔的代码,会的帮忙写下,谢谢! 1 23 345 6789,,到100
<?php
/**
金字塔正序
**/
for($a=1;$a<=10;$a++){
for ($b=10;$b>=$a;$b--){
echo " ";
}
for ($c=1;$c<=$b;$c++){
echo "*"." ";
}
echo "<br />";
}
?>
8. 如何用php语言制作一个数字金字塔呢
for($a=0;$a<7;$a++){
for($b=4;$b>$a;$b--){
echo " ";
}
for($d=0;$d<=$a;$d++){
echo "*";
}
echo "<br>";
}
9. php封装一个函数,实现打印任意层的金字塔
<?php
functiontower($num)
{
if($num<=0)return'';
for($i=1;$i<=$num;$i++)
{
$str.="<br/>";
for($j=1;$j<=$i;$j++)
{
if($j===1)
{
for($k=1;$k<=$num-$i;$k++)
{
$str.=' ';
}
}
$str.='* ';
}
}
return$str;
}
echotower(20);
结果截图: