Как преобразовать строку в массив

Итак, я получил строку, которая выглядит так:

string(138) "{"access_token":"#############","token_type":"Bearer","expires_in":3600}"

Но мне нужно получить доступ только к "#############" (который является токеном доступа), но для этого мне нужно преобразовать эту строку в массив.
Я пытался так:

//this is the string
$access = $tokenNew["extra_details"];
//here I convert it to an array
$access_token = explode(' ', $access);

Но, делая это, я получаю что-то вроде этого:

array(1) {
[0] => string(138) "{"access_token ":"##########","token_type ":"Bearer ","expires_in ":3600}"}

Есть идеи почему? Любая помощь приветствуется! Спасибо за ваше время!

1

Решение

Ваша строка выглядит как JSON. Вы можете попробовать json_decode функция на вашей строке.

$array = json_decode($your_string, true);
echo $array['access_token'];
3

Другие решения

Это объект JSON, поэтому вам нужно раскодировать Это.

$json = json_decode($tokenNew["extra_details"], true);
$access_token = $json['access_token'];
1