3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
||||||||||||||||
1 | ||||||||||||||||
Undefined offset: 0 Но Массив и ключ такой есть! Что это такое?07.07.2015, 04:44. Показов 2056. Ответов 16
Метки нет (Все метки)
Доброе утро, все массивы берутся с API youtuba
Пишет на одном - Undefined offset: 0 Вытаскиваю так Тут запрос... и прочее... $channels_inf = json_decode($output, true); Но ключ такой есть... Вот:
Если пишу так
0
|
07.07.2015, 04:44 | |
Ответы с готовыми решениями:
16
Выбрасывает исключение, что в словаре уже есть такой ключ OleDbDataReader - вылетает ошибка, что такой столбец не найден, но имя такое есть Есть папка с файлами, происхождение аля что-то microsoft, не могу понять что это такое Notice: Undefined offset: Что он хочет?! |
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
|
||||||
07.07.2015, 08:34 | 2 | |||||
Посмотрите внимательно на выводы функции print_r.
Кликните здесь для просмотра всего текста
Сразу намекну что Вы с объектом работаете.
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
||||||
07.07.2015, 08:47 [ТС] | 3 | |||||
[QUOTE=Leshak;7845579]Посмотрите внимательно на выводы функции print_r.
Кликните здесь для просмотра всего текста
Сразу намекну что Вы с объектом работаете.
Не понимаю... Что тут смотреть? В объекте items является массивом - "items":[{"kind":"youtube#channel","statistics":{"viewCount":45265617,"commentCount":29," subscriberCount":183369,"hiddenSubscriberCount":21,"videoCount":429}}] Он декодируется и получается -
0
|
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
|
||||||
07.07.2015, 08:49 | 4 | |||||
Уважаемый, Вы код внимательно смотрели? Я понимаю что мозги включать лень, равно как и глаза. Но готовое решение вашей проблемы уже дано.
0
|
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
|
|
07.07.2015, 09:18 | 5 |
Автор, а попробуй-ка нолик не брать в кавычки
0
|
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
|
|
07.07.2015, 09:27 | 6 |
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
|
07.07.2015, 10:35 [ТС] | 7 |
Все равно ошибку пишет. Я это сразу попробовал. Дело в том, что все объекты получаю через API Youtube v3
Около первых 1000 запросов все хорошо. И нет ошибок. Но через где то тысячу попался этот. Самое интересное, что если сравнивать вид объектов и массивов до ошибки, то они идентичны. В чем подвох не понимаю. В примерах апи гуглавского вывод результатов делается ['items']['0']['statistics']['videoCount'] Ноль в кавычках не играет значения... Так и странно, что если выводить значение массива ['items'][0]['statistics']['videoCount'] то оно есть и выводиться. А почему ошибка не понятно.
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
07.07.2015, 10:42 | 8 |
вместо того, что бы обвинять других лучше за собой следи.
https://secure.php.net/manual/... decode.php внимательно читаем, особенно про параметр $assoc не имеет значения YozUP, покажи сам json. Если он такой: то в нем ошибка, не хватает фигурных скобок. вот здесь рабочий вариант: http://ideone.com/qmG17O
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
|
07.07.2015, 10:48 [ТС] | 9 |
...
0
|
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
|
|
07.07.2015, 10:55 | 10 |
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
||||||
07.07.2015, 11:12 [ТС] | 11 | |||||
Это я для примера обрезал строку, полный json большой, вот пример взял, наугад. Повторюсь, это ютубовские и все одинаковые. Но через тысячу запросов появилась эта ошибка:
Кликните здесь для просмотра всего текста
{ "kind": "youtube#channelListResponse", "etag": "\"Y3xTLFF3RLtHXX85JBgzzgp2Enw/F6SGH2AnpJpEyQRlsjPgDE0Gx9Y\"", "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }, "items": [ { "kind": "youtube#channel", "etag": "\"Y3xTLFF3RLtHXX85JBgzzgp2Enw/u2yoJ1GcG6dwmTfX7ETfvpA05dg\"", "id": "UCvEOz_viTMwTFzmtLBTY3hA", "statistics": { "viewCount": "13751907", "commentCount": "7", "subscriberCount": "152919", "hiddenSubscriberCount": false, "videoCount": "1086" } } ] } А уважаемый Leshak видимо не прочитал вопрос прежде чем решил поумничать. В вопросе я ясно написал что декодировал строку в массив функцией json_decode с параметром $assoc в true Добавлено через 6 минут И что бы все понимали, то я написал выше. Если я вывожу
0
|
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
|
|
07.07.2015, 11:14 | 12 |
В смысле останавливается? Это ж не фатальная ошибка
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
||||||
07.07.2015, 11:57 [ТС] | 13 | |||||
Это потому что я включил режим отладки. Скрипт запускаю через крон. Но смысл то в том, что значение есть, и в консоль перед ошибкой выдается значение:
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
07.07.2015, 12:35 | 14 |
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
||||||
07.07.2015, 13:04 [ТС] | 15 | |||||
Нет не меняется. Вот пример, вывожу например в 20-й строке и например в массиве videoCount равен 250
20-я строка
И тут же Undefined offset: 0 line 20
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
07.07.2015, 13:19 | 16 |
YozUP, это все случайно не в цикле происходит?
добавь var_dump($channels_inf); перед echo
0
|
3 / 3 / 0
Регистрация: 03.10.2013
Сообщений: 85
|
|
07.07.2015, 13:28 [ТС] | 17 |
Все верно в цикле foreach
Но я пускал этот "странный запрос" первым и убивал на первом круге его die Все переменные после цикла удаляю. Да и факт того, что около тысячи прошли успешно, а потом появилась ошибка... Ведь у Youtube не может быть разных подач для запросов.
0
|
07.07.2015, 13:28 | |
07.07.2015, 13:28 | |
Помогаю со студенческими работами здесь
17
Что это за массив такой? std::map что такое и с чем это есть Назначение flag, то есть что это вообще такое Объект TDictionary. Что такое ключ и что такое значение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |