【发布时间】:2015-11-16 08:19:15
【问题描述】:
你能帮我写这段代码,将生成器产量分成 100 个块,并将它们保存到数据库中更漂亮。
$batchSize = 100;
$batch = [];
$i = 0;
/**
* @yield array $item
*/
foreach(itemsGenerator() as $item) {
$batch[] = $item;
$i++;
if ($i === $batchSize) {
Db::table('items')->save($batch);
$batch = [];
$i = 0;
}
$cnt++;
}
if ($batch) {
Db::table('items')->save($batch);
}
我不想把分块的逻辑放在itemsGenerator里
【问题讨论】:
-
或许更适合 codereview.stackexchange.com
标签: php foreach generator chunks