да знаю) после обновления до php8.1 начали сыпаться ошибочки. Большинство решил с помощью гугла, но есть еще такие ошибки
substr_count(): Argument #1 ($haystack) must be of type string, array given (0)
у нас там свойство числовое и как еще сделать проверку?
if (substr_count($arItem['PROPERTY_PRICE_VALUE'],",")!=0)
пытался сделать так, но не помогло
if (is_array($arItem['PROPERTY_PRICE_VALUE'],",") && substr_count($arItem['PROPERTY_PRICE_VALUE'],",")!=0)
Вы заполненность проверяете (включая ноль)?
if (array_key_exists($arItem['ID'],$arElements)) { $arItem["NAME"] = $arElements[$arItem['ID']]["NAME"]; $arItem["DETAIL_PAGE_URL"] = $arElements[$arItem['ID']]["DETAIL_PAGE_URL"]; if ($arElements[$arItem['ID']]["PREVIEW_PICTURE"]>0) { $arItem["PICTURE"] = CFile::GetFileArray($arElements[$arItem['ID']]["PREVIEW_PICTURE"]); } elseif ($arElements[$arItem['ID']]["DETAIL_PICTURE"]>0) { $arItem["PICTURE"] = CFile::GetFileArray($arElements[$arItem['ID']]["DETAIL_PICTURE"]); } if ($arItem['PROPERTY_PRICE_VALUE']!='') $arItem['PRICE'] = $arItem['PROPERTY_PRICE_VALUE']; if (substr_count($arItem['PROPERTY_PRICE_VALUE'],",")!=0) { $arProm = array(); $arProm = explode(",",$arItem['PROPERTY_PRICE_VALUE']); $arItem['PRICE'] = $arItem['PROPERTY_PRICE_VALUE'] = $arProm[0] + $arProm[1]/(pow(10,(int) strlen((string)((int)$arProm[1])))); } }
В $arItem['PROPERTY_PRICE_VALUE'] у вас стоимость вида "1234,56" и вы хотите ее вверх до рублей округлить что ли?
Обсуждают сегодня