一次获取 R 条记录 算法

发布于 2024-09-28 08:18:06 字数 452 浏览 6 评论 0原文

如果我知道我有 n 条记录,并且我想一次对一组 r 条记录执行某些操作(基本上是分批对 n 条记录执行操作,因为 n 非常大),那么算法是什么?任何语言都可以(尽管我使用的是 PHP)。

该算法应记住,在最终迭代中,可能没有足够的记录来创建完整的 r 组。

Recall: to find the total number of r combinations from a set of n records, 
use the combination formula:

C(n,r) = n! / r!(n-r)!

- 编辑 - 如果其他人感兴趣:我有一个大约 10K 行的 CSV(字符串)。我一直在寻找以 X 块的形式处理 CSV 每一行的最有效方法。

例如,我需要通过 API 将数据从 CSV 发送到第三方。 API 只允许一次发送 X 条记录(这就是我需要分块的原因)。

If I know I have n records, and I want to do something to a group of r records at a time (basically do stuff to n in batches because n is really large), what is the algorithm for that? Any language is OK (though I'm using PHP).

The algorithm should keep in mind that in the final iteration, there may not be enough records to create a complete group of r.

Recall: to find the total number of r combinations from a set of n records, 
use the combination formula:

C(n,r) = n! / r!(n-r)!

-- Edit --
In case others are interested: I have a CSV (string) with about 10K rows. I was looking for the most efficient way of processing each row of the CSV in chunks of X.

For example, I need to send data from the CSV to a 3rd party via API. The API only allows sending X records at once (which is why I need the chunking).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

短叹 2024-10-05 08:18:06

使用 array_chunk()

$chunks = array_chunk($arr, $r);
foreach($chunks as $chunk)
{
   deal_with($chunk);
}

use array_chunk().

$chunks = array_chunk($arr, $r);
foreach($chunks as $chunk)
{
   deal_with($chunk);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文