Toxa26
@Toxa26
Студент. Люблю верстать сайты.

Как решить проблему Warning: Illegal string offset 'code'?

Возникает ошибка Warning: Illegal string offset 'code'
protected $currencies;
protected $currency;

public static function getCurrencies(){
    return \R::getAssoc("SELECT code, title, symbol_left, symbol_right, value, base FROM currency ORDER BY base DESC");
}

public static function getCurrency($currencies){
    if(isset($_COOKIE['currency']) && array_key_exists($_COOKIE['currency'], $currencies)){
        $key = $_COOKIE['currency'];
    }else{
        $key = key($currencies);
    }
    $currency = $currencies[$key];
    $currency['code'] = $key;
    return $currency;
}

Вот строчка из-за которой выскакивает предупреждение:
$currency['code'] = $key;
  • Вопрос задан
  • 418 просмотров
Решения вопроса 1
@Arik
как вариант:
$currency = isset($currencies[$key]) && is_array($currencies[$key]) ? $currencies[$key] : [];


но нужно понимать что у вас там может быть в $currencies[$key]

т.е. у вас нет решения, если передали ключ которого нет в $currencies
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы