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