You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取数据集的所有组合?附PHP实现代码示例

生成数据集的指定长度排列组合

刚好我之前也处理过类似的排列需求,这个Math_Combinatorics类确实是解决这类问题的实用工具!下面是完整的实现方案:

实现思路

  • 先定义好你的原始数据集和需要填充的空位数量
  • 引入Combinatorics类文件
  • 调用类里的permutations()方法遍历生成所有排列,把结果收集到列表中
  • 最后输出或按需使用生成的排列集合

完整代码示例

$dataset = [1, 2, 3, 4, 5]; 
$slots = 3; 
$list = []; 

// 引入组合类文件
require_once 'Combinatorics.php'; 

// 遍历生成的所有排列,存入结果数组
foreach((new Math_Combinatorics)->permutations($dataset, $slots) as $combination){ 
    $list[] = $combination; 
} 

// 打印结果
print_r($list); 

输出示例

Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 1 [1] => 2 [2] => 4 ) ... )

需要注意的是,permutations()方法生成的是有序排列(比如[1,2,3]和[1,3,2]会被视为不同组合),如果你的需求是无序的组合,可以改用类中的combinations()方法。

内容的提问来源于stack exchange,提问作者clarkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:29:06