gpt4 book ai didi

PHP高级数组组合

转载 作者:可可西里 更新时间:2023-10-31 23:31:08 24 4
gpt4 key购买 nike

我很难解释我在这里想要什么。所以我将尝试用一些代码来解释它:

// Example 1

$numbers = [1,2,3,4,5,6];

$in_each = 2;

$combinations = superFunction($numbers, $in_each);

// Result

$combinations = [
[
[1,2],
[3,4],
[5,6]
],
[
[1,3],
[2,4],
[5,6]
],
[
[1,4],
[2,3],
[5,6]
]
// and so on
];


// Example 2

$numbers = [1,2,3,4,5,6];

$in_each = 3;

$combinations = superFunction($numbers, $in_each);

// Result

$combinations = [
[
[1,2,3],
[4,5,6]
],
[
[1,2,4],
[3,5,6]
]
// and so on
];

这是我需要帮助创建的superFunction。请注意变量 $in_each 是这里的关键。

该功能不需要非常高效,甚至不需要故障安全。我只需要一些东西让我开始。

我在这里看到了许多不同的“数组组合”脚本,但没有一个带有像这样“将它们分组”的选项。

最佳答案

编辑:我以前不知道这个,但是array_chunk会做你想做的事而不需要做一个功能。没有意识到它的存在。它看起来和 array_chunk($numbers, $in_each);

一样简单

array_slice函数可能可以帮助你做你想做的事。我很确定您只想将 $numbers 数组分成由 $in_each 变量确定的相等部分。

这是一个简单的例子:

$numbers = [1,2,3,4,5,6]
$in_each = 2;
$combinations = array_slice($nums, 0, 0 + $in_each);

如果此时打印出 $combinations,您将得到:

Array
(
[0] => 1
[1] => 2
)

所以,我只是将 superFunction 设置为执行 array_slice n 次的循环,其中 n 是 $numbers 的 长度 除以 $in_each。无论您的 $in_each 变量有多大,n 也会从零开始增加。在这种情况下,n 会这样计算:0 2 4

关于PHP高级数组组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22095534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com