PHP性能分析(001)-str_repeat ($input, $multiplier)

 1 <?php
 2 header("Pramga: no-cache");
 3 
 4 /**
 5  * 获得空心金字塔:<br/>
 6  * 1.使用了memcpy和memmove,效率最高。
 7  *
 8  * @param number $levelNum
 9  *            金字塔层数:默认20
10  * @return string 金字塔的结果
11  */
12 function getEmptyJinZiTa($levelNum = 20)
13 {
14     $SPACE = "&nbsp;"; // 用于填充空格
15     $STAR = "*"; // 用于填充型号
16     $decreseSpace = $levelNum - 1; // 第一行开始的空格,逐行递减
17     $result = "";
18     for ($level = 1; $level <= $levelNum; ++ $level) { // 循环外层数
19         $result .= str_repeat($SPACE, $decreseSpace --);
20         if ($level >= 1 && $level < $levelNum) {
21             $result .= $STAR;
22             $spaceNum = ($level - 1) * 2 - 1;
23             $result .= str_repeat($SPACE, $spaceNum < 0 ? 0 : $spaceNum);
24             if ($level != 1) // 第一行就一个*
25                 $result .= $STAR;
26         } else 
27             if ($level == $levelNum) { // 最底层需要填充全*
28                 $result .= str_repeat($STAR, $level * 2 - 1);
29             }
30         $result .= "<br/>";
31     }
32     return $result;
33 }
34 
35 echo getEmptyJinZiTa();//打印金字塔重点内容
36 ?>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。