欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php如何用循环输出菱形

程序员文章站 2022-03-30 18:37:12
...

php如何用循环输出菱形

思路:

(1)写出代码打印实心的金字塔。

(2)修改代码,把金字塔抛空。

(3)修改代码,把金字塔倒转。

(4)修改倒转后的代码,把金字塔抛空。

(5)修改代码,把具体的数进行参数化。

1、写出代码打印实心金字的金字塔:

<?php
    //$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++){
            echo "*";
        }
        echo "<br/>";
    }
?>

相关推荐:《php入门教程

2、改善代码,把金字塔抛空。

<?php
    //$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/>";
    }
?>

3、修改代码,把金字塔倒转。

<?php
    //$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/>";
    }
?>

4、修改倒转后的代码,把金字塔抛空,并把中间的*号去掉,修改这里的代码(if($i==1 || $i==5){ //去掉$i==5 把中间抛空)。

<?php
    //$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/>";
    }
?>

5、修改代码,把具体的数进行参数化 :把具体数字5改成$n=5代替,随后可以设置$n的值,可以任意放大和缩小。

<?php
    $n=5;
    for($i=1;$i<=$n;$i++){
        //打印空格
        for($j=1;$j<=$n-$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=$n;$i>=0;$i--){
        //打印空格
        for($j=0;$j<=$n-$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/>";
    }
?>

效果图:

php如何用循环输出菱形

以上就是php如何用循环输出菱形的详细内容,更多请关注其它相关文章!

相关标签: php 循环 菱形