Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/351: Рейтинг темы: голосов - 351, средняя оценка - 4.60
252 / 8 / 0
Регистрация: 12.11.2009
Сообщений: 170

Notice: Undefined offset: Что он хочет?!

20.03.2011, 16:52. Показов 69666. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем!
Появилась у меня проблема при выполнении view_calendar.php выбрасывает ошибку.

PHP
1
2
Notice: Undefined offset: 1 in Q:\home\site\www\modules\calendar\view_calendar.php on line 167
Notice: Undefined offset: 2 in Q:\home\site\www\modules\calendar\view_calendar.php on line 167
Временно решил таким планом: в index.php прописал это
PHP
1
error_reporting(E_ALL & ~E_NOTICE);
Но это не решение...

в этой строке у меня такой код

PHP
1
    list($not_used_y, $not_used_m, $current_day)= explode("-", $date_array[$acc]['date']);
Что тут криво? Подскажите, пожалуйста.
Дело в том, что результат выводит, такой как надо, но перед ним выводит целый список таких строк.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2011, 16:52
Ответы с готовыми решениями:

Notice: Undefined offset
«Notice: Undefined offset: 1 in /var/www/mobidvor/data/www/mobidvor.ru/kiseli/parser.php on line 49 Notice: Undefined offset: 2 in...

Notice: Undefined offset
Столкнулся с весьма странной ситуацией Вот мой код: <?php $array = 0; $array = 1; $array = 2; $array = 3; for ($j = 0;...

Notice: Undefined offset: 1 in
Notice: Undefined offset: 1 in C:\AppServ\www\11\bazar\podogrev.php on line 20 КОД: $fakes = ($_POST); for($i = 0,$c =...

5
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
20.03.2011, 17:00
Цитата Сообщение от Columb Посмотреть сообщение
Что тут криво? Подскажите, пожалуйста.
Если в $date_array[$acc]['date'] не будет двух и более дефисов, то explode() выдаст массив короче 3 элементов. В результате последним переменным в list() не достанется значений. Вот оттуда и вылезает данный notice, ибо list() заведомо думает, что в принимаемом массиве достаточно элементов.
0
252 / 8 / 0
Регистрация: 12.11.2009
Сообщений: 170
20.03.2011, 17:20  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Если в $date_array[$acc]['date'] не будет двух и более дефисов, то explode() выдаст массив короче 3 элементов. В результате последним переменным в list() не достанется значений. Вот оттуда и вылезает данный notice, ибо list() заведомо думает, что в принимаемом массиве достаточно элементов.
$date_array[$acc]['date'] имеет формат 2011-03-02


Это раз.
Во вторых он при первом запуске работает нормально. но я потом с этого же скрипта передаю в него новую переменную и вылазит эта ошибка.
приблизительно выходит этак. вот код.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    if ($GET['cat'] == 'read') $y=date("Y");
        else $y=$GET['cat'] ;
        
    if ($GET['alb'] == 'read') $m=date("m");
        else $m=$GET['alb'] ;
    
    if (!isset($y) OR $y < 1970 OR $y > 2037) $y=date("Y");
    if (!isset($m) OR $m < 1 OR $m > 12) $m=date("m");
 
    include_once './libs/mysql.php';
    
    $res='';
    $rows='';
    $date_array = array(); 
    $arraycount=1;      
 
/*Получаем из базы данных все записи */
        
    $res = mysqlQuery("SELECT * 
                        FROM `". BG_DBPREFIX ."calendar`
                        WHERE YEAR(date)=".$y." AND MONTH(date)=".$m."
                        ORDER BY date ASC"
                        );
    if(mysql_num_rows($res) > 0)     // Если записи есть, вытаскиваем по одной в цикле 
        {                   
        while($rows = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars() 
        {
            $date_array[$arraycount]['id']=$rows['id'];
            $date_array[$arraycount]['date']=$rows['date'];
            $date_array[$arraycount]['name']=$rows['name'];
            $date_array[$arraycount]['status']=$rows['status'];
            $arraycount++;
        };
        }
 
        $prev_y=date('Y',mktime (0,0,0,$m-1,1,$y));
        $prev_m=date('m',mktime (0,0,0,$m-1,1,$y));
        $next_y=date('Y',mktime (0,0,0,$m+1,1,$y));
        $next_m=date('m',mktime (0,0,0,$m+1,1,$y));
 
echo "<a href=\"".href('cat='.$prev_y,'alb='.$prev_m)."\">Prev</a>";
echo "<a href=\"".href('cat='.$next_y,'alb='.$next_m)."\">Next</a>";
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
20.03.2011, 18:10
Цитата Сообщение от Columb Посмотреть сообщение
но я потом с этого же скрипта передаю в него новую переменную и вылазит эта ошибка.
Сделайте var_dump() и посмотрите, что там на самом деле содержится.
1
252 / 8 / 0
Регистрация: 12.11.2009
Сообщений: 170
21.03.2011, 00:41  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Сделайте var_dump() и посмотрите, что там на самом деле содержится.
Сделал. И до определенного момента все нормально есть данные. а потом пишет ноль. Все правильно. я там работаю в цикле и сначала пока есть данные то ошибок нет. А потом я пытаюсь достать из массива не значения с несуществующими значениями.

Добавлено через 5 часов 20 минут
Проблему решил таким образом - добавил в конец цикла такую проверку

PHP
1
if (!empty($date_array[$acc+1]['date'])) $acc++;
2Vovan-VE Спасибо огромное, Ваш совет заглянуть в переменную через var_dump() действительно очень помог.
1
252 / 8 / 0
Регистрация: 12.11.2009
Сообщений: 170
22.03.2011, 02:38  [ТС]
Но это оказалось, тоже не все!) Если переменная пустая, то снова будет выводить Notice и всю "фигню")
Еще раз исправил и в начале добавил поверку!

PHP
1
2
3
4
5
6
$acc=1;
if (!empty($date_array[$acc]['date']) and $acc >= 1) 
{ 
Разные операции; 
if (!empty($date_array[$acc+1]['date'])) $acc++;
};
ЕЩЕ РАЗ!!! СПАСИБО Vovan-VE!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2011, 02:38
Помогаю со студенческими работами здесь

Notice: Undefined offset
Имеется ряд ошибок: otice: Undefined offset: 0 in /var/www/adminlinpcrus/data/www/gamele.ru/includes/functions_game.php on line 270 ...

Предупреждение - Notice: Undefined offset
Привет всем. Нужна помощь. Выбивает ряд предупреждений этого типа: Notice: Undefined offset: 125 in...

Ошибка - Notice: Undefined offset
Добрый день не найду ошибку Notice: Undefined offset: 0 in public function getAllSale(){ $goods = $this-&gt;getAll(); ...

Ошибка Notice: Undefined offset: 0
Добрый день! Я не опытный программист, требуется небольшая помощь в решении ситауции! Имеется небольшой скрипт вывода случайной...

Notice Undefined offset почему?
Здравствуйте. Пытаюсь удалить из массива дважды, но почему то Notice Undefined offset Хотя удаляет. Как поправить ? $u=array(...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru