варианты моего продукта представлены в массивах. Мне нужна функция для их регулирования.

Позвольте мне привести пример

это идет ко мне.

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;
}

-1

Решение

Вам не нужно долго код для этой цели. Просто итерируйте один ключ массива и создайте новый массив с целевой структурой.

$newArr = [];
foreach ($arr['Renk'] as $key=>$item){
$newArr[] = [
"Renk" => $item,
"İnç" => $arr['İnç'][$key]
];
}

Проверить результат в УМЭО


Также, если ключи массива динамические, используйте код, показанный внизу

$keys = array_keys($arr);
$newArr = [];
foreach ($arr[$keys[0]] as $key=>$item){
$newArr[] = [
$keys[0] => $item,
$keys[1] => $arr[$keys[1]][$key]
];
}

Проверить результат в демонстрация

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector