Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP: API

Войти
Регистрация
Восстановить пароль
 
razum_04
0 / 0 / 0
Регистрация: 19.10.2016
Сообщений: 40
#1

Cannot use object of type stdClass as array - PHP/VK API

21.11.2017, 20:11. Просмотров 237. Ответов 3
Метки нет (Все метки)

Здравствуйте, есть код, который должен писать, является ли человек участником группы и лайкнул ли он определенный пост, но проблема втом, что 2 куска кода выполняются, а 3й, такой же как предыдущие нет
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
$params1 = array(
'user_id' => $UserID,
'v' => '5.69'
);
 
$params2 = array(
'group_id' => $GroupID,
'user_id' => $UserID,
'v' => '5.69'
);
 
$params3 = array(
'user_id' => $UserID,
'type' => 'post',
'owner_id' => $GroupID2,
'item_id' => $PostID,
'access_token' => $access_token,
'v' => '5.69'
);
 
$get_params = http_build_query($params1);
$result = json_decode(file_get_contents('https://api.vk.com/method/users.get?'. $get_params));
echo($result -> response[0] -> first_name)." ";
echo($result -> response[0] -> last_name)."<br>";
 
$get_params = http_build_query($params2);
$result = json_decode(file_get_contents('https://api.vk.com/method/groups.isMember?'. $get_params));
if ($result == 1)
{
    echo "Пользователь <font color=\"green\">вступил</font> в группу.<br>";
}
else
{
    echo "Пользователь <font color=\"red\">не вступил</font> в группу.<br>";
}
 
$get_params = http_build_query($params3);
$result = json_decode(file_get_contents('https://api.vk.com/method/likes.isLiked?'. $get_params));
if (($result -> response[0] -> liked) == 1)
{
    echo "Пользователь <font color=\"green\">лайкнул</font> пост<br>";
}
if (($result -> response[0] -> liked) == 0)
{
    echo "Пользователь <font color=\"red\">не лайкнул</font> пост<br>";
}
Fatal error: Cannot use object of type stdClass as array in Z:\home\localhost\www\new.php on line 57
Использую Denwer.

Так же если я пишу
PHP
1
$result = json_decode(file_get_contents('https://api.vk.com/method/likes.isLiked?'. $get_params),true);
не появляется ошибка, однако независимо от того, поставил ли я лайк, всегда выполняется код
PHP
1
if (($result -> response[0] -> liked) == 0)
если прописать запрос вручную взяв все данные из скрипта и открыть в браузере, то все работает
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2017, 20:11
Я подобрал для вас темы с готовыми решениями и ответами на вопрос VK API Cannot use object of type stdClass as array (PHP):

Fatal error: Cannot use object of type jshopCart as array - PHP
есть такая конструкция: &lt;?php $prod = &amp;JModelLegacy::getInstance('cart', 'jshop'); $prod-&gt;load(); print_r ($prod); ?&gt; в...

Fatal error: Cannot use object of type stdClass as array in - PHP
Установил шаблон на wordpress,все работало нормально,через время в админке белый экран и ошибка Fatal error: Cannot use object of type...

Fatal error: Cannot use object of type mysqli_result as array - PHP БД
что тут не правильно? $fbcd = mysqli_result($mysqli-&gt;query(&quot;SELECT `credit` FROM `tblclients` WHERE...

Работа с stdClass Object - PHP
&lt;?php $client = new SoapClient(&quot;http://www2.tvh.be/axis2/services/TvhwsService?wsdl&quot;); $result =...

Вывод stdClass Object (SOAP) - PHP Сети
Не пинайте сильно, я только учусь. В общем, пытаюсь разобраться с Soap. Php скрипт по print_r выдаёт вот такое: stdClass Object ( ...

stdClass Object извлечь данные - PHP
Есть объект $obekt мне нужно получить определенные его свойства, например, $inName = $obekt; Как правильно составить эту...

3
ytf
200 / 187 / 84
Регистрация: 15.08.2017
Сообщений: 978
27.11.2017, 21:29 #2
Цитата Сообщение от razum_04 Посмотреть сообщение
new.php on line 57
откройте файл и посмотрите, что написано в 57 строчке
0
razum_04
0 / 0 / 0
Регистрация: 19.10.2016
Сообщений: 40
12.12.2017, 18:08  [ТС] #3
ytf,
PHP
1
$result = json_decode(file_get_contents('https://api.vk.com/method/likes.isLiked?'. $get_params));
я про это писал. просто убрал строки, где задаются значения переменных типо id группы, юзера и т.д.
0
ytf
200 / 187 / 84
Регистрация: 15.08.2017
Сообщений: 978
12.12.2017, 19:45 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
попробуйте
PHP
1
2
unset($result);
$result = json_decode(file_get_contents('https://api.vk.com/method/likes.isLiked?'. $get_params));
если не поможет, после эти двух строк допишите

PHP
1
var_dump($result);
и возможно увидите, что изменилась структура переменной
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2017, 19:45
Привет! Вот еще темы с ответами:

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object - C#
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

Перебрать массив с элементами stdClass Object - PHP
С праздником победы, уважаемые форумчане! Дабы обезопасить свой мозг от поломки, прошу Вашего совета! Имеется массив вида $hfytt =...

Как извлечь данные из stdclass object - PHP
При обращение к VK API мне вернулась Json строка в итоге получаю: $res = json_decode(file_get_contents($url)); print_r($res); ...

Не вызывается функция (Type mismatch: array or user-defined type expected) - VBA
Помогите Option Explicit Dim X() As Double Dim Y() As Double Sub Кнопка1_Щелчок() Dim i As Integer Dim a As Double Dim n As...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru