С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/40: Рейтинг темы: голосов - 40, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11

Ошибка: cannot use string offset as an array...

12.06.2017, 14:33. Показов 7756. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    function curl($url) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }
    
    function api($method) {
        $response = curl("https://api.vk.com/method/".$method);
        $json = json_decode($response, true);
        if($json["error"]["error_msg"]) {
            return $json["error"];
        } else {
            return $json["response"];
        }
    }
Выдает ошибку на эту строчку,что не так?
>>
PHP
1
if($json["error"]["error_msg"]) {
Миниатюры
Ошибка: cannot use string offset as an array...  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2017, 14:33
Ответы с готовыми решениями:

Ошибка Cannot use string offset as an array
Привет, столкнулся с ошибкой: Fatal error: Cannot use string offset as an array in путь on line 22 <? ini_set('error_reporting',...

Ошибка "Uncaught Error: Cannot use string offset as an array"
Приветствую всех. При переезде сайта с PHP5.5 на PHP7.2 стало ругаться на эту функцию. Строки 14 и 17 вызывают ошибку "Fatal error:...

Fatal error: Cannot use string offset as an array
Добрый день, есть функция вида: global $post; $articulo=get_post_meta( $post->ID, '_eshop_product',true ); $precio=$articulo; ...

15
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2017, 14:50
PHP
1
var_dump($json);
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 14:57  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
function by($method) {
    $response = curl("https://api.vk.com/method/".$method);
    $json = json_decode($response, true);
    var_dump($json);
    if(($json["error"]["error_msg"])) {
        return $json["error"];
    } else {
        return $json["response"];
    }
}
Миниатюры
Ошибка: cannot use string offset as an array...  
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 16:06  [ТС]
Что не так?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2017, 16:28
Цитата Сообщение от Monstep21 Посмотреть сообщение
Что не так?
Неужели не видно что нет ключа "error"
PHP
1
2
3
4
5
if(array_key_exists('error', $json)) {
        return $json["error"];
    } else {
        return $json["response"];
    }
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 16:48  [ТС]
Вот что в ответ получаю
Миниатюры
Ошибка: cannot use string offset as an array...  
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2017, 19:45
Цитата Сообщение от Monstep21 Посмотреть сообщение
Вот что в ответ получаю
код целиком
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 19:57  [ТС]
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
43
44
45
46
47
$wall_get = api ('wall.getComments?owner_id='.$wall_id."&post_id=".$post_id."&sort=desc&count=1&access_token=".$token);
$uid = $wall_get[1]["uid"];
$cid = $wall_get[1]["cid"];
$wall_text = $wall_get[1]["text"];
 
if (preg_match('/Помощь/i', $wall_text)) {
    $text = random (array('Что','Какие команды','Ты о чем'));
    echo $text;
}elseif (preg_match('/Привет/i', $wall_text)) {
    $text = 'Привет';
}elseif(preg_match('/Как дела/i', $wall_text)) {
    $text = ("да ну *****");
 
}
 
if ($id_bot == $uid) {
    echo ("$time No Otvet\n");
    die;
}  
 
$commet = api("wall.createComment?owner_id=".$wall_id."&post_id=".$post_id."&reply_to_comment=".$cid."&message=".$text."&from_group=0&access_token=".$token);
 
Print_r ($commet);  
function api($method) {
    $response = curl("https://api.vk.com/method/" . $method);
    $json = json_decode($response, true);
    if( !empty($json["response"]) ) {
        return $json["response"];
    } else {
        return $json["error"];
    }
}
 
function random($text){
$rand = mt_rand (0, count($text)-1); 
return $text[$rand]; 
}
 
function curl( $url ){
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $ch );
curl_close( $ch );
return $response;
}
Теперь у меня идет ответ только на слово "Привет",на другие когда пишешь нету ответа
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2017, 20:15
Цитата Сообщение от Monstep21 Посмотреть сообщение
Теперь у меня идет ответ только на слово "Привет",на другие когда пишешь нету ответа
Смотри var_dump`ом что возвращает каждая фунцкия, чтобы найти где ожидаемый результат не совпадает с фактическим
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 20:19  [ТС]
Почему он на слово "Привет" отвечает нормально
А вот на другие нет?
То есть на "Помощь","Как дела"
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2017, 21:10
Цитата Сообщение от Monstep21 Посмотреть сообщение
Почему он на слово "Привет" отвечает нормально
А вот на другие нет?
http://ideone.com/7MrYTu
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 21:24  [ТС]
Тоже самое что у меня и было,только у меня $wall_text я получаю с вк

Добавлено через 4 минуты
Может быть из-за кодировки?
Кодировка utf-8
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.06.2017, 21:28
Цитата Сообщение от Monstep21 Посмотреть сообщение
Может быть из-за кодировки?
Тогда бы и "привет" не работал
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Смотри var_dump`ом что возвращает каждая фунцкия, чтобы найти где ожидаемый результат не совпадает с фактическим
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 21:36  [ТС]
Выдает ошибку,что текст не найден
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 21:45  [ТС]
Вывожу сейчас
PHP
1
var_dump($json)
Выдает вот это
Миниатюры
Ошибка: cannot use string offset as an array...  
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 11
12.06.2017, 21:59  [ТС]
Я понял.
Если пишешь без пробелов то отправляется текст,если с пробелами,то не отправляется,что делать в таком случае?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2017, 21:59
Помогаю со студенческими работами здесь

Fatal error: Cannot use string offset as an array in
День добрый. Подскажите, пожалуйста, как обработать данный ответ от сервера. Получаем ответ от сервера в переменную. ...

Ошибка "Fatal error: Uncaught Error: Cannot use string offset as an array" при импорте данных
как исправить данные ошибки при импорте данных? Warning: Illegal string offset 'primary-widget-area' in...

"Cannot use string offset as an array in" в PHP7
Доброго времени суток. Решил попробовать PHP7 и первым делом столкнулся с такой проблемой. $groups_a_by_id]=$row; Получаем . ...

Ошибка: Illegal string offset
выходит ошибка Illegal string offset 'title' in D:\OpenServer\domains\sarport\lib\tmpl\main.tpl on line 23 сам код main.tpl ...

Не понятна ошибка Illegal string offset 'usmenu_title' in /
Здравствуйте! подскажите пожалуйста что за ошибка Illegal string offset 'usmenu_title' - не могу разобраться спасибо.


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru