Heim >php教程 >php手册 >php输出金字塔2种方法

php输出金字塔2种方法

WBOY
WBOYOriginal
2016-05-26 08:21:052472Durchsuche

下面给大家总结了两种实现金字塔打印的方法,一种是利用了自定义函数,另一种是利用了for循环了,其实两都用到了只是前者高级一些吧.

自定义函数实现金字塔,代码如下:

<?php
/** 
 * 金字塔
 * string fun_py(int $rows = 9, bool $sort=true)
 * $rows 表示行数 必须为整数 并且必须在1-20之间
 * $sort 表示排序 true表示正序 FALSE表示倒序
 */
function fun_py($rows = 9, $sort = true) {
    if ($rows < 1 || $rows > 20) {
        return "必须在1-20之间";
    }
    if ($rows != (int)($rows)) {
        return &#39;行数 必须为整数&#39;;
    }
    $str = "";
    if ($sort) {
        for ($i = 1; $i <= $rows; $i++) {
            $str.= &#39;<br/>&#39;;
            for ($j = 1; $j <= $i; $j++) {
                if ($j == 1) {
                    for ($k = 1; $k <= ($rows - $i); $k++) {
                        $str.= &#39;&nbsp&#39;;
                    }
                }
                $str.= &#39;*&#39; . &#39;&nbsp&#39;;
            }
        }
    } else {
        for ($i = $rows; $i >= 1; $i--) {
            $str.= &#39;<br/>&#39;;
            for ($j = 1; $j <= $i; $j++) {
                if ($j == 1) {
                    for ($k = 1; $k <= ($rows - $i); $k++) {
                        $str.= &#39;&nbsp&#39;;
                    }
                }
                $str.= &#39;*&#39; . &#39;&nbsp&#39;;
            }
        }
    }
    return $str;
}
echo fun_py(9, false);

下面再实现个金字塔形状物,通用也是用到for循环,代码如下:

<?php
/** 
 金字塔正序
 *
 */
for ($a = 1; $a <= 10; $a++) {
    for ($b = 10; $b >= $a; $b--) {
        echo "&nbsp";
    }
    for ($c = 1; $c <= $b; $c++) {
        echo "*" . "&nbsp";
    }
    echo "<br />";
}


同样想让这个金字塔倒立起来呢,代码如下:

<?php
/** 
 金字塔玩倒立
 *
 */
for ($a = 10; $a >= 1; $a--) {
    for ($b = 10; $b >= $a; $b--) {
        echo "&nbsp";
    }
    for ($c = 1; $c <= $b; $c++) {
        echo "*" . "&nbsp";
    } //开源代码phprm.com
    echo "<br />";
}


本文地址:

转载随意,但请附上文章地址:-)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn