Exibir dados de um array

Estou fazendo uma conexão com uma API usando o curl do PHP para fazer essa conexão, eu precisava pegar os seguintes dados do array:
buy e vol
este é o link da API:
https://broker.tembtc.com.br/api/v3/btcbrl/ticker

O código que estou usando é esse:

  <?php

$link = mysqli_connect("localhost", "root", "", "sistema");
$url= "https://broker.tembtc.com.br/api/v3/btcbrl/ticker";

$request_headers = array();
$ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($ch);

if (curl_errno($ch))
{
print "Error: " . curl_error($ch);
 }
 else
{
// Show me the result
// passo de JSON para array 
var_dump($transaction = json_decode($data, TRUE));

if($transaction == true){
  echo "conexão Ok";
}else{
    echo "Eroor";
 }

  foreach ($transaction as $row) 

 {
  
  $row['buy'];
  $row['vol'];
 }
 curl_close($ch);


 }



?>

Só que quando dou um echo ele vem vazio, mas quando dou um $row vem tudo junto todos os dados

1 curtida

Eu não entendi muito bem como quer o seu código porque tem conexão com banco depois, um requisição, mas, eu acho que você está com duvida com ler cada item do retorno, observe o foreach talvez seja isso.

<?php
	$link = mysqli_connect("localhost", "root", "", "sistema");
	$url= "https://broker.tembtc.com.br/api/v3/btcbrl/ticker";

	$request_headers = array();
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_TIMEOUT, 60);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$data = curl_exec($ch);

	if (curl_errno($ch))
	{
		print "Error: " . curl_error($ch);
	}
	 else
	{
		
		$transaction = json_decode($data, TRUE);	 
		foreach ($transaction as $key => $value) 
		{
			echo $key.'='.$value;
			echo '<br />';
		}
	}
	curl_close($ch);
?>