При работе с VK API получаю ответ:
{"response":{"type":"user","object_id":506019729}}
Как получить с этой строки с помощью PHP параметры type
, object_id
?
Сейчас использую такой костыль, какие есть еще решения?
$out = explode('{"response":{"type":"group","object_id":', $out);
if (isset($out[1])) {
$id = $out[1];
$id = trim($id, "}");
Log::alert("ID: ".$id);
} else {
$id = null;
}
return $id;
Вы принимаете ответ в JSON и работать с ним нужно как с JSON.
$result = json_decode($response); // stdClass
или
$result = json_decode($response, true); // array
У вас получится готовый к работе массив параметров, который дальше можно перебирать через foreach и производить все необходимые действия.
Ваш код, если хотите работать с ответом как с stdClass:
$result = json_decode( '{"response":{"type":"user","object_id":506019729}}' );
echo $result->response->type;
// выведет user.
Ваш код, если хотите работать с ответом как с array:
$result = json_decode( '{"response":{"type":"user","object_id":506019729}}', true );
echo $result["response"]["type"];
// тоже выведет user.
Пример работы с API vk в одном из моих проектов.
$result = json_decode( vk_query( 'https://api.vk.com/method/board.getComments', array(
'lang' => $lang,
'group_id' => $group_id,
'topic_id' => $topic_id,
'need_likes' => $need_likes,
'start_comment_id' => $start_comment_id,
'offset' => $offset,
'count' => $count,
'sort' => $sort,
'extended' => $extended,
'access_token' => $access_token,
'v' => $v
) ), true ); // делаем запрос к VK с нужными параметрами и декодируем ответ в массив
/* ... код запроса к БД через PDO */
foreach ( $result['response']['items'] as $item ) { / перебираем массив ответа ВК
if ( $post_id < $item["id"] && $item["text"] != "" ) {
// биндим нужные параметры для записи в БД
$query->bindParam( ':post_id', $item["id"] );
$query->bindParam( ':from_id', abs( $item["from_id"] ) );
$query->bindParam( ':date', $item["date"] );
$query->bindParam( ':text', $item["text"] );
$query->execute(); // записываем в БД нужные значения
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Для каждого региона создавать свой сайт с по доменом или как ? Что бы поисковики выдавали сразу информацию для клиента по его регионаПишу...
Как в библиотеке phpspreadsheet можно задать формулу A1 * A2 * A3 / A4?
Cтолкнулся с такой проблемой: объявление класса со свойством (приватным или нет - не важно)
В случае обычных функций нужно использовать return, а как поступить например с таким: