PHP生成器簡單實(shí)例
一般你在迭代一組數(shù)據(jù)的時(shí)候,需要創(chuàng)建一個(gè)數(shù)據(jù),假設(shè)數(shù)組很大,則會消耗很大性能,甚至造成內(nèi)存不足。
//Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in E:\php\test\index.php on line 5
range(1, 100000000);
PHP5.5實(shí)現(xiàn)了生成器,每當(dāng)產(chǎn)生一個(gè)數(shù)組元素則用yield關(guān)鍵詞返回,并且執(zhí)行函數(shù)暫停,當(dāng)執(zhí)行函數(shù)next方法時(shí),則會從上一次被yield的位置開始繼續(xù)執(zhí)行,如下例子,只會產(chǎn)生中間變量$i
function xrange($start, $limit, $step = 1) {
for ($i = $start; $i <= $limit; $i += $step) {
yield $i;
}
}
foreach (xrange(1, 9, 1) as $number) {
echo "$number ";
}
相關(guān)文章
PHP輸出當(dāng)前進(jìn)程所有變量/常量/模塊/函數(shù)/類的示例
PHP輸出當(dāng)前進(jìn)程所有變量、常量、模塊、函數(shù)、類的示例2013-11-11
新浪SAE云平臺下使用codeigniter的數(shù)據(jù)庫配置
這篇文章主要介紹了新浪SAE云平臺下使用codeigniter的數(shù)據(jù)庫配置,主要涉及在database.php的配置,需要的朋友可以參考下2014-06-06
PHP圖片驗(yàn)證碼制作實(shí)現(xiàn)分享(全)
最近正在學(xué)習(xí)php入門,現(xiàn)在剛?cè)腴T,所以許多都不知道,就從最基礎(chǔ)的學(xué)起,不會的上網(wǎng)查,然后把它記在這個(gè)法寶內(nèi)2012-05-05
PHP中可以自動分割查詢字符的Parse_str函數(shù)使用示例
這篇文章主要介紹了PHP中可以自動分割查詢字符的Parse_str函數(shù)使用示例,小編也沒見過的一個(gè)函數(shù),這下分割URL中的查詢字符串就方便了,需要的朋友可以參考下2014-07-07

