微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何合并数组值?

我有输入字段的数组,现在我想要的是生成各种值组合以保存在数据库colunm中.

--------------------------------
id | value
--------------------------------
1  8,12,7,11
2   8,15,7,11
3   9,12,7,11
4   9,15,7,11
5   13,12,7,11
6   13,15,7,11

$first = $this-> input-> post(‘product_variant’);

Array
(
[12] => Array
(
    [0] => 8
    [1] => 9
    [2] => 13
)

[13] => Array
(
    [0] => 12
    [1] => 15
)

[15] => Array
(
    [0] => 7
)

[16] => Array
(
    [0] => 11
)

)

现在我想要生成组合像:

8,12,7,11
8,15,7,11
9,12,7,11
9,15,7,11
13,12,7,11
13,15,7,11

解决方法:

这是笛卡尔积.您可以使用此功能

function cartesian($arr,$str = array()){
$first = array_shift($arr);
if(count($str) > 1) {
    foreach ($str as $k => $val) {
        foreach ($first as $key => $value) {
            $str2[] = $val.','.$value;
        }
    }
}else{
    foreach ($first as $key => $value) {
        $str2[] = $value;
    }
}

if(count($arr) > 0){
    $str2 = cartesian($arr,$str2);
}
return $str2;
}

希望可以帮到你.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐