Decode возвращает Int php curl JSON - PullRequest
0 голосов
/ 18 июня 2019

У меня есть CURL, который возвращает следующее:

 {"data":{"base":"BTC","currency":"USD","amount":"9342.29"}}

Я пытаюсь получить переменную суммы JSON в переменную PHP.Я использую следующие попытки:

$result=curl_exec($ch);

//1
var_dump(json_decode($result));
//2
var_dump(json_decode($result, true));
//3
$data = json_decode($result[0]->data,true);

Ответ предыдущих var_dumps:

 //1
 /home/usbanktech/public_html/bitcoin2.php:24:int 1
 //2
 /home/usbanktech/public_html/bitcoin2.php:26:int 1 
 //3
 $data attempt returns nothing

Попытка получить «сумму»: «9342.29» в php как $ сумму.

Полный код:

// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.coinbase.com/v2/prices/BTC-USD/buy");

//curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"name\": \"New receive address\"}");


$headers = array();
$headers[] = "Content-Type: application/json";
$headers[] = "Authorization: Bearer abd90df5f27a7b170cd775abf89d632b350b7c1c9d53e08b340cd9832ce52c2c";
//$headers[] = "CB-ACCESS-KEY: <your api key>";
//$headers[] = "CB-ACCESS-SIGN: <the user generated message signature>";
//$headers[] = "CB-ACCESS-TIMESTAMP: <a timestamp for your request>";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result=curl_exec($ch);
// Closing
curl_close($ch);

$json = $result;
$array = json_decode($json,1);
$amount = $array['data']['amount'];
echo $amount;

1 Ответ

0 голосов
/ 18 июня 2019

Как насчет этого декодирования в виде массива и получения значения суммы?

<?php
$json = ' {"data":{"base":"BTC","currency":"USD","amount":"9342.29"}}';
$array = json_decode($json,1);
$amount = $array['data']['amount'];
echo $amount;
?>

ДЕМО: https://3v4l.org/RD6K9

ИЛИ с extract()

<?php
$json = ' {"data":{"base":"BTC","currency":"USD","amount":"9342.29"}}';
$array = json_decode($json,1);
extract($array['data']);
echo $amount;
?>

ДЕМО: https://3v4l.org/n2OCR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...