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 = " "; // 用于填充空格 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 ?>