php生成数组的示例 php全组合算法

网站建设 2025-05-15 08:23www.dzhlxh.cn网站建设

代码解读如下:

我们有一个原始的数组 `$arr`,它包含数字 1 到 7。我们的目标是从这个数组中选取五个元素来创建新的数组组合 `$b`。这个过程中使用了递归函数 `format` 来遍历原始数组并创建新的组合。在此过程中,还定义了一个全局变量 `$total` 来计数创建的组合数量,并且定义了一个全局变量 `$b` 来存储所有的组合结果。

```php

// 定义原始数组

$arr = array(1, 2, 3, 4, 5, 6, 7);

// 用于存储最终结果的数组

$b = array();

// 用于计数生成的组合数量

$total = 0;

function generateCombinations($remaining, $index, $arr) {

global $total;

global $b;

// 当索引等于数组长度时,表示已经选取了五个元素,将组合添加到结果数组中并计数

if ($index == count($arr)) {

if (count($remaining) == 5) { // 确保选取的元素数量是五个

$b[] = $remaining; // 将组合添加到结果数组

$total++; // 增加组合计数

}

return; // 结束递归调用并返回上一级函数

}

// 先进行递归调用,不选择当前索引的元素,继续向下寻找可能的组合

generateCombinations($remaining, $index + 1, $arr);

// 将当前索引的元素添加到临时数组中,然后递归调用寻找包含此元素的组合

$remaining[] = $arr[$index];

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板