@juli_zzz

При переходе на php8 Битрикс как обойти ошибку [TypeError] Cannot access offset of type string on string (0)?

Добрый день! Большую часть ошибок удалось исправить, но вот решение этой никак не найти(( Помогите, пожалуйста. Разработчик модуля уже давно канул в Лету.

[TypeError]
Cannot access offset of type string on string (0)
/home/k/kontentko2/rabota.kolpino.ru/public_html/bitrix/components/kolpino/element.add.form/class.php:627

627 строчка
if(is_array($a['VALUE']))

/**
     * Выводит HTML свойства input тегов
     */
    private function addHtmlTagsToFormElement($arTags)
    {
        /*'HTML_TAGS'*/
        if(!empty($arTags)){
            foreach($arTags as $key => $value){
                echo ' '.$key.'="'.$value.'" ';
            }
        }
    }

    private function stringToArrayValue($arr){
        if(!is_array($arr) && !empty($arr))
        {
            if(is_string($arr) || is_numeric($arr) ){
                $arr = array( '0' => array('VALUE' => $arr));
                return $arr;
            }
            else
                return array();
        }
        if(is_array($arr)){
            foreach($arr as $t => $a){
                if(is_string($a) || is_numeric($a) ){
                    $arr[$t] = array('VALUE' => $a);
                }
                if(is_array($a['VALUE']))
                {
                    foreach($a['VALUE'] as $cell => $params){
                        $a[$cell] = $params;
                    }
                    $arr[$t] = $a;
                }
            }
            return $arr;
        }
        return array();
    }
  • Вопрос задан
  • 8173 просмотра
Решения вопроса 1
Adamos
@Adamos
if(is_array($a) && is_array($a['VALUE'])))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@juli_zzz Автор вопроса
Adamos, добрый день! А вот эту строчку не подскажете, как исправить?
if($arFields['PROPERTY_VALUES'][157][0]['VALUE'] == 173) {
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы