@santavits

Как делается разбор json результата от апи вк?

Вот сам json результат от вк

Array ( 
[response] => Array ( 
[0] => Array ( 
[id] => 11111 
[album_id] => 2222222 
[owner_id] => -666666 
[user_id] => 11111 
[photo_75] => https://pp.userapi.com/c840639/v840639724/68347/3oCeAnAK-DY.jpg 
[photo_130] => https://pp.userapi.com/c840639/v840639724/68348/JU7F7EsGnVY.jpg 
[photo_604] => https://pp.userapi.com/c840639/v840639724/68349/cyn1MCxgt7Y.jpg 
[width] => 604 
[height] => 453 
[text] => 
[date] => 1521484148 
) ) )


Всё, что нужно получить это id

Пробовал таким методом, но ничего не получилось

$resultUpload = file_get_contents('https://api.vk.com/method/photos.save?'. $get_params_savePhoto,true);
$json = json_decode($resultUpload, true);

$json = $json ->response[0]; 
echo $json;
for ($i = 0; $i < count($json ); $i++) {
echo $json[$i]->id; 
};


Буду благодарен за любую помощь.
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
riot26
@riot26
<:З )~~
$resultUpload = file_get_contents('https://api.vk.com/method/photos.save?'. $get_params_savePhoto,true);

// при передаче в качестве второго аргумента true на выходе получаем массив, а не объект
// подробнее: http://php.net/manual/ru/function.json-decode.php
$json = json_decode($resultUpload, true);

// здесь почему-то получали первый элемент массива, хотя дальше ожидается проход по этому массиву.
// получали тоже странным образом, учитывая что мы получили массив, а не объект.
// позволю себе переименовывать некоторые переменные для лучшей читаемости кода
$response = $json['response'];

echo $response;

// foreach здесь намного удобнее использовать, чем for
foreach ($response as $photo) {
    // опять же, здесь массив, а не объект
    echo $photo['id']; 
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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