php - 在集合上使用聚合函数实现类似 SQL 的分组依据的算法?

标签 php javascript python algorithm collections

假设您有一个这样的数组:

[
  {'id' : 1, 'closed' : 1 },
  {'id' : 2, 'closed' : 1 },
  {'id' : 5, 'closed' : 1 },
  {'id' : 7, 'closed' : 0 },
  {'id' : 8, 'closed' : 0 },
  {'id' : 9, 'closed' : 1 }
]

我想总结这个数据集(不使用 SQL!),并为由行 '关闭'。导致这样的输出:

[
  {'id__min' : 1, 'id__max' : 5, 'closed' : 1},
  {'id__min' : 7, 'id__max' : 8, 'closed' : 0},
  {'id__min' : 9, 'id__max' : 9, 'closed' : 1}
]

这只是我想做的事情的一个例子。我想实现一些类似于 python 的 itertools.groupby 提供的东西,但作为一个更全面一点。 (想定义我自己的聚合函数)。

如果可能的话,我正在寻找指针、伪代码,甚至是任何 PHP、Python 或 Javascript 代码。

谢谢!

最佳答案

itertools.groupby()key 参数允许您传递自己的聚合函数。

关于php - 在集合上使用聚合函数实现类似 SQL 的分组依据的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392336/

相关文章:

php - 从复选框中获取选中的值,即从数据库中获取数据

javascript - HTML页面,IPcamera快照多次刷新 "draw on canvas"

javascript - 如何更改有关 if else 语句的 Angular fxLayout(行到列)

python - Scrapy的这个正则表达式怎么写?

python - Flask Restful无法映射到pathparam资源

python - python 中的 Pickle 队列对象

php - 无法在自定义 Laravel 测试环境中进行身份验证(codeception)

php - 如何使用filter_input/filter_var中的选项数组

javascript - 在 HTML 中加载按比例缩小/低分辨率的图像

javascript - 带有 froala 的外部 CSS