2016-09-13 4 views
1

Таким образом, я получил строку, которая выглядит следующим образом:Как преобразовать строку в массив

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}" 
} 

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

ответ

3

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

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

Info: Второй параметр 'json_decode()', заставляет возвращаемый объект быть преобразованным в ассоциативный массив. –

+0

Спасибо, что это правильно, и это помогло мне понять, как работает json_decode! Спасибо за ваше время! – Alan

1

Это объект json, поэтому вам нужно decode.

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

Спасибо, что это было за решение! Спасибо за ваше время! – Alan

Смежные вопросы