[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как можно сравнить 2 массива с заменой части элеме
Регент

Есть 2 массива.

первый вида:
Id товара => 1, Наименование товара => дохлая муха, Описание товара => Цевет: серый, цена => 22

второй
Id товара => 1, цена => 23

нужно заменить значение цена первого массива значением цена из второго, при совпадении значения ID.

Как это проще сделать?



Спустя 44 минуты, 50 секунд (26.04.2010 - 13:37) Jinus написал(а):
Мне в голову приходит только 1 вариант:

$arr1 = array();
$arr2 = array();
for($i = 0; $i <= sizeof($arr1); $i++)
{
if($arr1[$i] != $arr2[$i]) $arr1[$i] = $arr2[$i];
}

Спустя 34 минуты, 14 секунд (26.04.2010 - 14:11) FatCat написал(а):
Цитата (Jinus @ 26.04.2010 - 14:37)
приходит только 1 вариант

Увы, не сработает...
Если айдишник не в ключах обоих массивов, потребуется гонять цикл в цикле... sad.gif

Спустя 7 минут, 27 секунд (26.04.2010 - 14:19) FatCat написал(а):
Если не напутал, то примерно так:
foreach($arr1 as $k1=>$v1)foreach($arr2 as $k2=>$v2)
if($v1['id'] == $v2['id'])$arr1[$k1]['price'] = $arr2[$k2]['price'];

Спустя 1 час, 17 минут, 52 секунды (26.04.2010 - 15:36) Регент написал(а):
Цитата (FatCat @ 26.04.2010 - 11:11)
Цитата (Jinus @ 26.04.2010 - 14:37)
приходит только 1 вариант

Увы, не сработает...
Если айдишник не в ключах обоих массивов, потребуется гонять цикл в цикле... sad.gif

К сожалению массивы совершенно разные.
Спасибо за подсказку.


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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.