>백엔드 개발 >PHP 튜토리얼 >PHP 성능 분석(001)-str_repeat($input, $multiplier)

PHP 성능 분석(001)-str_repeat($input, $multiplier)

WBOY
WBOY원래의
2016-08-08 09:29:251048검색

<code><span><span><span><?php</span>
header(<span>"Pramga: no-cache"</span>);

<span>/**
 * 获得空心金字塔:<br/>
 * 1.使用了memcpy和memmove,效率最高。
 *
 *<span> @param</span> number $levelNum
 *            金字塔层数:默认20
 *<span> @return</span> string 金字塔的结果
 */</span><span><span>function</span><span>getEmptyJinZiTa</span><span>(<span>$levelNum</span> = <span>20</span>)</span>
{</span><span>$SPACE</span> = <span>" "</span>; <span>// 用于填充空格</span><span>$STAR</span> = <span>"*"</span>; <span>// 用于填充型号</span><span>$decreseSpace</span> = <span>$levelNum</span> - <span>1</span>; <span>// 第一行开始的空格,逐行递减</span><span>$result</span> = <span>""</span>;
    <span>for</span> (<span>$level</span> = <span>1</span>; <span>$level</span> <= <span>$levelNum</span>; ++ <span>$level</span>) { <span>// 循环外层数</span><span>$result</span> .= str_repeat(<span>$SPACE</span>, <span>$decreseSpace</span> --);
        <span>if</span> (<span>$level</span> >= <span>1</span> && <span>$level</span> < <span>$levelNum</span>) {
            <span>$result</span> .= <span>$STAR</span>;
            <span>$spaceNum</span> = (<span>$level</span> - <span>1</span>) * <span>2</span> - <span>1</span>;
            <span>$result</span> .= str_repeat(<span>$SPACE</span>, <span>$spaceNum</span> < <span>0</span> ? <span>0</span> : <span>$spaceNum</span>);
            <span>if</span> (<span>$level</span> != <span>1</span>) <span>// 第一行就一个*</span><span>$result</span> .= <span>$STAR</span>;
        } <span>else</span><span>if</span> (<span>$level</span> == <span>$levelNum</span>) { <span>// 最底层需要填充全*</span><span>$result</span> .= str_repeat(<span>$STAR</span>, <span>$level</span> * <span>2</span> - <span>1</span>);
            }
        <span>$result</span> .= <span>"<br/>"</span>;
    }
    <span>return</span><span>$result</span>;
}

<span>echo</span> getEmptyJinZiTa();<span>//打印金字塔重点内容</span><span>?></span></span></code>

위에는 PHP 성능 분석(001)-str_repeat($input, $multiplier) 관련 내용을 포함하여 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.