php——用for循环打印半金字塔、金字塔、正方形、倒金字塔、菱形、空心图形等

1、半金字塔

$n=5;

//控制层数

for($i=1;$i<=$n;$i++){

//控制每层的 “*” 数

for($j=1;$j<=$i;$j++){

echo  "*";

}

echo  "<br/>";

}



2、金字塔

$n=5;

for($i=1;$i<=$n;$i++){

for($k=1;$k<=$n-$i;$k++){

echo "&nbsp";   //输出空格

}

for($j=1;$j<=($i-1)*2+1;$j++){

echo "*";

}

echo "<br/>";


}



3、正方形

$n=5;

for($i=1;$i<=$n;$i++){

for($k=$n;$k>=0;$k- -){

echo "*&nbsp";

}

echo "<br/>";

}




4/倒金字塔

$n=5;
for($i=$n;$i>=1;$i--){
for($k=1;$k<=$n-$i;$k++){
echo "&nbsp";
}
for($j=1;$j<=($i-1)*2+1;$j++){
echo "*";
}
echo "<br/>";
}




5、菱形

$n=20;
for($i=1;$i<=$n;$i++){
for($k=1;$k<=$n-$i;$k++){
echo "&nbsp";
}
for($j=1;$j<=($i-1)*2+1;$j++){
echo "*";
}
echo "<br/>";
}
for($i=$n;$i<=$n;$i--){
for($k=1;$k<=$n-$i;$k++){
echo "&nbsp";
}
for($j=1;$j<=($i-1)*2+1;$j++){
echo "*";
}
echo "<br/>";

}



6、空心菱形

   $n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*号
        for($k=1;$k<=2*$i-1;$k++){
        //打印第一行后最后一行都打*连接($i==1 || $i==5) 
            if($i==1){ //去掉$i==5 把中间抛空
                echo "*";
            }else{
                //怎么打空格和*号的问题
                if($k==1 || $k==2*$i-1){
                    echo "*";
                }else{
                    echo "&nbsp;";
            }
        }
    }
    echo "<br/>";
    }
    //倒转 抛空
    for($i=5;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*号
        for($k=1;$k<=2*$i-3;$k++){
            //怎么打空格和*号的问题
            if($k==2*$i-3 || $k==1){
                echo "*";
            }else{
                echo "&nbsp;";    
            }
        }
    echo "<br/>";
    }



7、空心金字塔

$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
    //打印*号
    for($k=1;$k<=2*$i-1;$k++){
        //打印第一行后最后一行都打*连接
        if($i==1 || $i==5){
            echo "*";
        }else{
        //怎么打空格和*号的问题
            if($k==1 || $k==2*$i-1){
                echo "*";
            }else{
                echo "&nbsp;";
            }
        }
    }
    echo "<br/>";
    }





 8、倒转空心金字塔
$n=5;
    for($i=1;$i<=5;$i++){
        //打印空格
        for($j=1;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*号
        for($k=1;$k<=2*$i-1;$k++){
            //打印第一行后最后一行都打*连接
            if($i==1 || $i==5){
                    echo "*";
            }else{
                //怎么打空格和*号的问题
                if($k==1 || $k==2*$i-1){
                    echo "*";
                }else{
                    echo "&nbsp;";
                }
            }
        }
    echo "<br/>";
    }
    //倒转
    for($i=5;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=5-$i;$j++){
            echo "&nbsp;";
        }
        //打印*号
        for($k=1;$k<=2*$i-3;$k++){
            echo "*";
        }
    echo "<br/>";
    }