Здравствуйте, Итак, у меня есть этот вызов.Ошибка Преобразование JSON в массив PHP
$preciobitcoin = curlCall('https://www.bitstamp.net/api/ticker/');
и я могу совершенно получить $preciobitcoin['last'].
, но это один
$preciodolar = curlCall('https://s3.amazonaws.com/dolartoday/data.json');
возвращение в виде строки вместо массива
это код функции, которая не работает это код функции, которая не работает
function curlCall($url, $params = null, $contentType = 'application/json', $options = array()) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSLVERSION, 4);
if (!is_null($params) && !is_null($options['key']) && !is_null($options['sig'])) {
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: '.$contentType, 'key: '.$options['key'], 'sig: '.$options['sig']));
//
} else if (!is_null($params) && !empty($params)) {
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: '.$contentType));
} else {
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: '.$contentType));
}
// Allow for custom requests
if (isset($options['custom_request']) && !empty($options['custom_request'])) {
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $options['custom_request']);
}
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; cryptoGlance ' . CURRENT_VERSION . '; PHP/' . phpversion() . ')');
$curlExec = curl_exec($curl);
if ($curlExec === false || curl_errno($curl)) {
$data = array();
} else {
$data = json_decode($curlExec, true);
}
if (empty($data)) {
// return non-jsonfied data
return $curlExec;
}
curl_close($curl);
return $data;
}
показать, как разобрать результат в обоих случаях, отредактировав пост – Viral
Пробовали ли вы использовать 'json_decode' для разбора JSON строки в массив? – DavidDomain
да, переменная становится нулевой. –