У меня есть большой массив вида
array(
[]=> array (
[] =>;
[] => ;
)
.
. и тд
)
окого 4 000 элементов
Мне необходимо обойти такой массив и обновить цену у товаров. Проблема в том что долго грузится и 502 ошибка или зависает или ошибка БД.
Делаю вот так, посмотрите, может что не так делаю или подскажите как правильней
array(
[]=> array (
[] =>;
[] => ;
)
.
. и тд
)
окого 4 000 элементов
Мне необходимо обойти такой массив и обновить цену у товаров. Проблема в том что долго грузится и 502 ошибка или зависает или ошибка БД.
Делаю вот так, посмотрите, может что не так делаю или подскажите как правильней
Код |
---|
$arResP = array(); $countP = 0; $a = 0; foreach ($array as $key => $arItem) { $aRres = CIBlockElement::GetList(array(), array("IBLOCK_ID" => 3, "NAME" => trim($arItem["SKU"])), false, false, array("ID", "IBLOCK_ID", "NAME")); $countP = 0; $arResP = array(); while ($obj = $aRres->Fetch()) { $arResP[$countP] = $obj; $ar_res = CPrice::GetBasePrice($arResP[$countP]["ID"]); $arResP[$countP]["PRICE"] = $ar_res["PRICE"]; $arResP[$countP]["OFFER_ID"] = $ar_res["ID"]; $arLoadProduct = array("PRODUCT_ID" => $arResP[$countP]["ID"], "PRICE" => intval($arItem["PRICE"]), "CURRENCY" => "RUB"); CPrice::Update($arResP[$countP]["OFFER_ID"], $arLoadProduct); $countP += 1; } $a = $key; } |