У меня есть большой массив вида
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;
}
|