@YariKartoshe4ka

Почему php не видит элементы массива?

Столкнулся с такой проблемой: undefined offset ...
Да, все бы хорошо, где то накосячил в коде, но проблема в том, что я не трогал код, а ошибка возникла сама. Может ли быть это из-за того, что перешёл на другую версию php (с 7.3 на 7.4)?
Также использую движок silex
Вот примерный код:
// Создаю массив вне рендера
$cmd_outputs = [
    '1-1' => 'Привет'
];

function func($cmd_outputs) {
    // Тут почему-то происходит ошибка
    error_log($cmd_outputs['1-1']);
};

$app->get('/bot', function() use($app) {
    // Поэтому объявляю global
    global $cmd_outputs;
    // Тут все хорошо
    error_log($cmd_outputs['1-1']);
    func($cmd_outputs);
    return 'ok';
});

Вот такая вот мистика, помогите пожалуйста
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Разумеется, версия пхп тут не при чем. Как и этот сляпанный на коленке пример - в нем всё работает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
t-alexashka
@t-alexashka
Сразу пишу legacy код
// Тут почему-то происходит ошибка
    error_log($cmd_outputs['1-2']);

потому что такого ключа нет?
Ответ написан
Комментировать
@cyberlog
А где идет присваивание $cmd_outputs['1-2'] ?
Это обращение к несуществующему элементу массива
Ответ написан
Ваш ответ на вопрос

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

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