@Gordnev

Как изменить значения массива на основе значений другого массива?

Здравствуйте подскажите пожалуйста, есть два массива:

Первый:
Array
(
    [0] => Array
        (
            [name] =>    Смартфон realme XT 8/128GB, синий    
            [price] => null
        )

    [1] => Array
        (
            [name] =>    Смартфон Samsung Galaxy A30 3/32GB, черный    
            [price] => null
        )

    [2] => Array
        (
            [name] =>    Смартфон Tecno Camon 12 Air 3/32GB, синий    
            [price] => null
        )

    [3] => Array
        (
            [name] =>    Смартфон Smartisan U3 Special Edition 4/64GB, черный    
            [price] => null
        )
)


Второй:

Array
(
    [0] => Array
        (
            [price] =>      20 990 ₽   
        )

    [1] => Array
        (
            [price] =>      14 390 ₽   
        )

    [2] => Array
        (
            [price] =>      8 990 ₽   
        )

    [3] => Array
        (
            [price] =>      10 995 ₽   
        )
)


Как бы мне объединить эти два массива в один чтобы значений price попали в первый массив, по порядку?
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
array_merge_recursive/array_replace_recursive ?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
OAPrilepa
@OAPrilepa
Frontend developer
foreach($array1 as $key => &$value) {
    $value['price'] = $array2[$key]['price'];
}
unset($value);
Ответ написан
@Tigran196296
function test($array1, $array2)
{
    foreach ($array2 as $key => $price) {
        if (array_key_exists($key, $array1)) {
            $array1[$key]['price'] = $price['price'];
        }
    }
    return $array1;
}
echo '<pre>';
var_dump(test($array1, $array2));
echo '</pre>';
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы