生成多个 PHP 数组中项目的组合
处理多个不同长度的数组时,生成所有可能的组合变得具有挑战性他们的元素。本文解决了这个问题,提供了一个通用的 PHP 解决方案。
任务是创建一个函数,该函数接受任意数量的数组并输出一个包含其元素的所有可能组合的数组。例如,给定三个数组:
所需的输出将是 18 个组合的数组:
解决方案采用递归方法:
该函数接受数组数组作为输入,并将递归计数器 $i 初始化为零。它检查索引 $i 处的当前数组是否存在,如果不存在则返回一个空数组。如果 $i 等于最后一个索引,则表示基本情况,并返回当前数组。
否则,它递归调用组合以获得后续数组的组合,存储在 $tmp 中。它初始化一个空的 $result 数组并迭代索引 $i 处的当前数组。对于此数组中的每个元素,它将其与 $tmp 中的每个组合连接起来,将结果附加到 $result。
此过程递归展开,直到生成所有组合。返回结果数组,表示输入数组中项目的所有可能组合。
以上是如何从多个不同长度的 PHP 数组中有效地生成所有可能的元素组合?的详细内容。更多信息请关注PHP中文网其他相关文章!