PHP生成器簡(jiǎn)單實(shí)例
一般你在迭代一組數(shù)據(jù)的時(shí)候,需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù),假設(shè)數(shù)組很大,則會(huì)消耗很大性能,甚至造成內(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í),則會(huì)從上一次被yield的位置開始繼續(xù)執(zhí)行,如下例子,只會(huì)產(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 ";
}
- PHP迭代器的內(nèi)部執(zhí)行過(guò)程詳解
- PHP迭代器接口Iterator用法分析
- PHP設(shè)計(jì)模式之迭代器模式的深入解析
- PHP迭代器和迭代的實(shí)現(xiàn)與使用方法分析
- PHP基于SPL實(shí)現(xiàn)的迭代器模式示例
- php和C#的yield迭代器實(shí)現(xiàn)方法對(duì)比分析
- php SQL之where語(yǔ)句生成器
- PHP5.5迭代生成器用法實(shí)例詳解
- PHP中你可能忽略的性能優(yōu)化利器:生成器
- PHP新特性詳解之命名空間、性狀與生成器
- PHP生成器功能與用法實(shí)例分析
- PHP迭代器和生成器用法實(shí)例分析
相關(guān)文章
PHP輸出當(dāng)前進(jìn)程所有變量/常量/模塊/函數(shù)/類的示例
PHP輸出當(dāng)前進(jìn)程所有變量、常量、模塊、函數(shù)、類的示例2013-11-11
新浪SAE云平臺(tái)下使用codeigniter的數(shù)據(jù)庫(kù)配置
這篇文章主要介紹了新浪SAE云平臺(tái)下使用codeigniter的數(shù)據(jù)庫(kù)配置,主要涉及在database.php的配置,需要的朋友可以參考下2014-06-06
PHP圖片驗(yàn)證碼制作實(shí)現(xiàn)分享(全)
最近正在學(xué)習(xí)php入門,現(xiàn)在剛?cè)腴T,所以許多都不知道,就從最基礎(chǔ)的學(xué)起,不會(huì)的上網(wǎng)查,然后把它記在這個(gè)法寶內(nèi)2012-05-05
PHP中可以自動(dòng)分割查詢字符的Parse_str函數(shù)使用示例
這篇文章主要介紹了PHP中可以自動(dòng)分割查詢字符的Parse_str函數(shù)使用示例,小編也沒(méi)見(jiàn)過(guò)的一個(gè)函數(shù),這下分割URL中的查詢字符串就方便了,需要的朋友可以參考下2014-07-07

