Объедините листовые узлы двух ассоциативных 2d-массивов с одинаковой структурой.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Объедините листовые узлы двух ассоциативных 2d-массивов с одинаковой структурой.

Сообщение Anonymous »

Я пытаюсь использовать array_combine() для объединения двух многомерных массивов, но почему-то делаю это неправильно.
Вот массив1:
Array(
[Nov 18, 2011] => Array(
[C] => 107705.5792
=> 44561.52
)
[Nov 22, 2011] => Array(
[C] => -8992.8352
)
)

а вот массив2:
Array(
[Nov 18, 2011] => Array(
[C] => 3
=> 1
)
[Nov 22, 2011] => Array(
[C] => 2
)
)

Вот моя попытка array_combine, которая не работает:
$array1 = ($arr1);
$array2 = ($arr2);
$result = array_combine($arr1, $arr2);
echo '
';
print_r($result);
echo '';

Что я делаю не так? Вот результат, который я ищу:
Array(
[Nov 18, 2011] => Array(
[3] => 107705.5792
[1] => 44561.52
)
[Nov 22, 2011] => Array(
[2] => -8992.8352
)
)

  • РЕДАКТИРОВАТЬ -

Я обнаружил, что если вместо этого использовать array_merge_recursive() , это мой результат. Не то, что я искал, но близко:
Array(
[Nov 18, 2011] => Array(
[C] => Array(
[0] => 3
[1] => 107705.5792
)
=> Array(
[0] => 1
[1] => 44561.52
)
)
[Nov 22, 2011] => Array(
[C] => Array(
[0] => 2
[1] => -8992.8352
)
)
)

  • ДАЛЬНЕЙШЕЕ РЕДАКТИРОВАНИЕ -

Вот способ, который я пытался реализовать одно из предложений ниже, однако у меня это не работает. Что не так?:
function cust_array_merge(array &$array1, array $array2) {
// loop through main array
foreach ($array1 as $key => $val) {
// check if $array2 has the same index
if (array_key_exists($key, $array2)) {
// reset $array1's indexes to $array2's values
foreach ($array2[$key] as $subKey => $subVal) {
if (array_key_exists($subKey, $array1[$key])) {
$tempVal = $array1[$key][$subKey];
unset($array1[$key][$subKey]);
$array1[$key][$subVal] = $tempVal;
}
}
}
}
}

$merged = cust_array_merge($arr_cats_per_bill_date, $arr_cvat);
echo '';
print_r($merged);
echo '';


Подробнее здесь: https://stackoverflow.com/questions/838 ... structures
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»