Выдергиваю данные по api и получаю их в таком формате:
Array
(
[name] => Bamboo Relay
[tickers] => Array
(
[0] => Array
(
[base] => DAI
[target] => USDC
[last] => 1.002536321
[volume] => 12498.278493792
)
[1] => Array
(
[base] => WETH
[target] => DAI
[market] => Array
[volume] => 882.06928994636
)
[2] => Array
(
[base] => USDC
[target] => WETH
[market] => Array
[volume] => 882.06928994636
)
И вывожу эти данные на страницу следующим образом:
<?php
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://coingecko.p.rapidapi.com/exchanges/bamboo_relay/tickers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"x-rapidapi-host: coingecko.p.rapidapi.com",
"x-rapidapi-key: 6ffd1d2182msh846abeb6f107c2cp15e4c8jsn66196e744cac"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
function print_arr($arr){
echo '<pre> ' . print_r($arr, true) . ' </pre>';
}
$infa = json_decode($response, true);
//zrx/weth para
$basezrx = $infa['tickers'][7]['base'];
$targetweth = $infa['tickers'][7]['target'];
$zwprice = $infa['tickers'][7]['converted_last']['usd'];
$zwspread = $infa['tickers'][7]['bid_ask_spread_percentage'];
$zwvolume = $infa['tickers'][7]['converted_volume']['usd'];
$infatxt="
<ul>
<li>$basezrx/$targetweth - price: $zwprice - spread: $zwspread volume: $zwvolume</li>
</ul>
";
echo $infatxt;
print_arr($infa);
?>
Но проблема! В api, нужные мне данные меняются через каждые 5-10 минут. А именно: Нужная пара к примеру USDC/WETH перемещается с [2] на [3] или наоборот попадает в списке выше.
Как правильно создать условие через foreach так, чтобы сначала проверять
Если
[base] равен USDC
и
[target] равен WETH
то данные подтягиваются.
Просто api, постоянно меняет нужную мне инфу в столбцах [1] или [2] и т.д. Нужно сделать чтобы перед выводом инфы, скрипт проверял, то ли он выводит.