Добрый вечер! Сайт на Bitrix Делаю переход на PHP 8 в одном из шаблонов разработчики использовали вот такой код Код (Text): if ($this->StartResultCache(0)) { $max=8; /*if($USER->IsAdmin()) { show($_SESSION['history']); }*/ //show($_SESSION['history']); // //unset($_SESSION['history']); $_SESSION['history']=array_unique($_SESSION['history']); //show($_SESSION['history']); $i=0; foreach($_SESSION['history'] as $k=>$v) { $i++; if(count($_SESSION['history'])>23 && $i==1){unset($_SESSION['history'][$k]);} $tmp=explode("_",$v); //show($tmp); if($tmp[0]>0) { $ids[]=$tmp[0]; } else { unset($_SESSION['history'][$k]); } } При переходе на PHP 8 ругается на вот этот метод if ($this->StartResultCache(0)) Пишет array_unique(): Argument #1 ($array) must be of type array, null given (0) Прошу помощи. Как правильно будет переписать данную функцию?
Ругается не на метод StartResultCache, а на то, что в функцию array_unique передаёте null. Как вариант: PHP: $_SESSION['history']=array_unique($_SESSION['history'] ?? []); Если, конечно, именно эта строка указана в ошибке.