Задать вопрос
@SilimAl
Telegram, VK, Instagram боты

В чём ошибка, выводит Undefined offset?

Приветствую!

Подскажите, в чем ошибка?
Погуглил, не помогло..

Есть код:
$text_to_send = '';
$dop_text = '';
$iii = 0; // переменная для деления на страницы при выводе
$arr_showroutes_i = 1; // стартуем с номера один для дальнейшего вывода по номеру страницы

foreach ($sql_myroutes as $value) {                 
    $text_to_send = ''
            . 'Из: ' . $from_title_send . ' (' . $value['from_id'] . ')%0A'
            . 'В:   ' . $to_title_send . ' (' . $value['to_id'] . ')%0A'
            . 'Интервал: ' . $value['interval_send'] . ' секунд%0A'
            . 'Активен: ' . $is_active_text
            . '';

    if ($iii == 4) {
        $arr_showroutes[$arr_showroutes_i] .= $text_to_send . '%0A%0A' . $dop_text;
        $iii = 0;
        $arr_showroutes_i++;
        $text_to_send = '';
    } else {
        $arr_showroutes[$arr_showroutes_i] .= $text_to_send . '%0A%0A' . '---!!!---';  // Предупреждение в этой строке.. 
        $iii++;
    }
}


Логи выкидывают:
PHP Notice: Undefined offset: 1
PHP Notice: Undefined offset: 2
PHP Notice: Undefined offset: 3
PHP Notice: Undefined offset: 4

p.s. Если что, да, $arr_showroutes[0] пустой..
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 2
@kandrash
Кратко о себе
Плохо гуглили. Очевидно же что в массиве $arr_showroutes нет элементов с индексами 1..4. Если вы пытаетесь их создать то уберите точку.

// $arr_showroutes[$arr_showroutes_i] .= $text_to_send . '%0A%0A' . $dop_text;
$arr_showroutes[$arr_showroutes_i] = $text_to_send . '%0A%0A' . $dop_text;
Ответ написан
Комментировать
@SilimAl Автор вопроса
Telegram, VK, Instagram боты
Aleksey, благодарю, смысл я понял.. "Создавать" их при каждой итерации не вариант, нужно именно "докидывать" туда значения. Поставил проверку на "существование", предупреждение снято.
foreach ($sql_myroutes as $value) {
   if (!isset($arr_showroutes[$arr_showroutes_i])) {
      $arr_showroutes[$arr_showroutes_i] = '';
   }
.....
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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