Php 如何从两个子阵列生成值的组合?

Php 如何从两个子阵列生成值的组合?,php,arrays,loops,combinations,cartesian-product,Php,Arrays,Loops,Combinations,Cartesian Product,我有两个这样的子阵列 Array ( [0] => Array ( [id] => 17 [name] => Color [value] => White,Black [attribute_id] => 1 ) [1] => Array ( [id] => 15

我有两个这样的子阵列

Array
(
    [0] => Array
        (
            [id] => 17
            [name] => Color
            [value] => White,Black
            [attribute_id] => 1
        )

    [1] => Array
        (
            [id] => 15
            [name] => Size
            [value] => L,S,M,XL,XXL,XXXL
            [attribute_id] => 5
        )

)
我想生成值元素数据的组合

预期结果:

White L
White S
White M
White XL
White XXL
White XXXL
Black L
Black S
Black M
Black XL
Black XXL
Black XXXL
我试过使用foreach,但没有成功。

只需使用explode即可。使用以下代码:

<?php
// Your array:
$array = array(array("id"=>17,"name" => "Color","value" => "White,Black","attribute_id" => 1),array("id" => 15,"name" => "Size","value" => "L,S,M,XL,XXL,XXXL", "attribute_id" => 5));

$x = explode(",",$array[0]["value"]);
foreach($x as $p=>$k){

    $explode = explode(",",$array[1]["value"]);
    foreach($explode as $pe){
        echo $k." ".$pe."<br>";
    }
}
?>

你所说的值域组合是什么意思?您想拥有多个值吗?然后使用数组。这个问题的区别是什么:?这称为笛卡尔积-查找它。在第一级迭代每个元素以处理所有项。然后,在该循环中,用逗号分解值字段以获得值数组。然后通过该数组进行迭代,并为每个成员在包含结果的第三个数组中添加新成员。至少试着编码——不要期望只说你需要什么,然后让别人写代码。你已经试过两次让别人为你编码了。你自己做一些尝试,人们会帮助你,但我们不会根据规范生成代码