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

php输出金字塔2种方法

WBOY
發布: 2016-05-26 08:21:05
原創
2478 人瀏覽過

下面给大家总结了两种实现金字塔打印的方法,一种是利用了自定义函数,另一种是利用了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 />";
}
登入後複製


本文地址:

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板