让我举个例子
这些来找我。
Array
(
[Renk] => Array
(
[0] => Altın Sarısı
[1] => Altın Sarısı
[2] => Altın Sarısı
[3] => Altın Sarısı
[4] => Gümüş
[5] => Gümüş
[6] => Gümüş
[7] => Gümüş
[8] => Siyah
[9] => Siyah
[10] => Siyah
[11] => Siyah
[12] => Beyaz
[13] => Beyaz
[14] => Beyaz
[15] => Beyaz
)
[İnç] => Array
(
[0] => 15
[1] => 16
[2] => 17
[3] => 18
[4] => 15
[5] => 16
[6] => 17
[7] => 18
[8] => 15
[9] => 16
[10] => 17
[11] => 18
[12] => 15
[13] => 16
[14] => 17
[15] => 18
)
)
我应该这样做。
[0] => Array
(
[Renk] => Altın Sarısı
[İnç] => 15
)
[1] => Array
(
[Renk] => Altın Sarısı
[İnç] => 16
)
[2] => Array
(
[Renk] => Altın Sarısı
[İnç] => 17
)
[3] => Array
(
[Renk] => Altın Sarısı
[İnç] => 18
)
[4] => Array
(
[Renk] => Gümüş
[İnç] => 15
)
[5] => Array
(
[Renk] => Gümüş
[İnç] => 16
)
[6] => Array
(
[Renk] => Gümüş
[İnç] => 17
)
[7] => Array
(
[Renk] => Gümüş
[İnç] => 18
)
[8] => Array
(
[Renk] => Siyah
[İnç] => 15
)
[9] => Array
(
[Renk] => Siyah
[İnç] => 16
)
[10] => Array
(
[Renk] => Siyah
[İnç] => 17
)
[11] => Array
(
[Renk] => Siyah
[İnç] => 18
)
[12] => Array
(
[Renk] => Beyaz
[İnç] => 15
)
[13] => Array
(
[Renk] => Beyaz
[İnç] => 16
)
[14] => Array
(
[Renk] => Beyaz
[İnç] => 17
)
[15] => Array
(
[Renk] => Beyaz
[İnç] => 18
)
我使用它,但是它变得太多了。
function get_combinations($arrays) {
$result = array(array());
foreach ($arrays as $property => $property_values) {
$tmp = array();
foreach ($result as $result_item) {
foreach ($property_values as $property_value) {
$tmp[] = array_merge($result_item, array($property => $property_value));
}
}
$result = $tmp;
}
return $result;
}
答案 0 :(得分:1)
您不需要为此编写冗长的代码。只需迭代数组的一个键并创建具有目标结构的新数组即可。
$newArr = [];
foreach ($arr['Renk'] as $key=>$item){
$newArr[] = [
"Renk" => $item,
"İnç" => $arr['İnç'][$key]
];
}
在dmeo中查看结果
如果数组键是动态的,请使用底部显示的代码
$keys = array_keys($arr);
$newArr = [];
foreach ($arr[$keys[0]] as $key=>$item){
$newArr[] = [
$keys[0] => $item,
$keys[1] => $arr[$keys[1]][$key]
];
}
在demo中查看结果