Json Verisinde Parçalama Yapma

Hocam merhaba.

Uzak bir siteden json veri çekerek kripto paralar ile alakalı ufak bir bot yazıyorum. Botun amacı güncel kripto para değerlerini göstermek. Verileri şuradan çekiyorum (Burayı yazmıyorum nedenini bilmiyorum :-D).

Burada veriler sürekli güncelleniyor ve market cap değerlerine göre sıralanıyor. Bir coin’in market hacmi üstündeki coin’i geçerse bir üst sıraya geçiyor. Sitenin indexinde bu şekilde basit bir tablo hazırladım ve düzgün çalışıyor. Sorunum her coin için hazırladığım ayrı sayfalarda. örneğin bitcoin.php’de verileri ekrana şu şekilde yazdırdım.

Doğal olarak altındaki coin’in market hacmi bitcoin’i geçerse bitcoin yerine o coin’in market hacmini gösteriyor bitcoin.php’de. Bunu nasıl çözebilirim? json’dan verileri örneğin id’e göre çekme şansım var mıdır? id’i bitcoin olanın market_cap_usd’ini göster şeklinde. Yardımcı olursanız sevinirim. Teşekkürler.


Merhabalar hocam,

Örnek olarak attığınızı düşündüğüm resim gelmemiş. O yüzden kendimce baştan yazacağım bazı şeyleri. Umarım işinizi görür.

Json yani obje tipleri dizi gibi kullanımı vardır ve kullanımı gayet basittir.

Aşağıda siteden gelen json verisi bulunmaktadır.

{
 "id": "bitcoin", 
 "name": "Bitcoin", 
 "symbol": "BTC", 
 "rank": "1", 
 "price_usd": "12091.4", 
 "price_btc": "1.0", 
 "24h_volume_usd": "15500900000.0", 
 "market_cap_usd": "203206399787", 
 "available_supply": "16805862.0", 
 "total_supply": "16805862.0", 
 "max_supply": "21000000.0", 
 "percent_change_1h": "-0.5", 
 "percent_change_24h": "-14.0", 
 "percent_change_7d": "-19.33", 
 "last_updated": "1516106364"
}, 
{
 "id": "ethereum", 
 "name": "Ethereum", 
 "symbol": "ETH", 
 "rank": "2", 
 "price_usd": "1118.76", 
 "price_btc": "0.0930684", 
 "24h_volume_usd": "6305830000.0", 
 "market_cap_usd": "108536801436", 
 "available_supply": "97015268.0", 
 "total_supply": "97015268.0", 
 "max_supply": null, 
 "percent_change_1h": "1.47", 
 "percent_change_24h": "-15.01", 
 "percent_change_7d": "-8.15", 
 "last_updated": "1516106350"
}, 
{
 "id": "ripple", 
 "name": "Ripple", 
 "symbol": "XRP", 
 "rank": "3", 
 "price_usd": "1.43144", 
 "price_btc": "0.00011908", 
 "24h_volume_usd": "4128000000.0", 
 "market_cap_usd": "55452758585.0", 
 "available_supply": "38739142811.0", 
 "total_supply": "99993093880.0", 
 "max_supply": "100000000000", 
 "percent_change_1h": "2.07", 
 "percent_change_24h": "-21.33", 
 "percent_change_7d": "-38.78", 
 "last_updated": "1516106341"
}, 
{
 "id": "bitcoin-cash", 
 "name": "Bitcoin Cash", 
 "symbol": "BCH", 
 "rank": "4", 
 "price_usd": "1986.1", 
 "price_btc": "0.165222", 
 "24h_volume_usd": "1495410000.0", 
 "market_cap_usd": "33594409801.0", 
 "available_supply": "16914763.0", 
 "total_supply": "16914763.0", 
 "max_supply": "21000000.0", 
 "percent_change_1h": "-0.63", 
 "percent_change_24h": "-17.74", 
 "percent_change_7d": "-17.94", 
 "last_updated": "1516106357"
}, 
{
 "id": "cardano", 
 "name": "Cardano", 
 "symbol": "ADA", 
 "rank": "5", 
 "price_usd": "0.655639", 
 "price_btc": "0.00005454", 
 "24h_volume_usd": "1270460000.0", 
 "market_cap_usd": "16998798600.0", 
 "available_supply": "25927070538.0", 
 "total_supply": "31112483745.0", 
 "max_supply": "45000000000.0", 
 "percent_change_1h": "0.66", 
 "percent_change_24h": "-21.0", 
 "percent_change_7d": "-24.34", 
 "last_updated": "1516106359"
}, 

Verileri $contents değişkenine attığımızı düşünerekten işlem yapıyorum.

$key_id = 'bitcoin'; // Burada dinamik olarak alacağın coin değişkeni</div>
$key_content = null;
foreach ($contents as $content) {
    if ($content->id == $key_id) {
        $key_content = $content;
        break;
        //print_r($content);exit;
    }
}

if ($key_content) {
    // Buradan sonra istediğin gibi kullanabilirsin.
    //print_r($key_content);
}

Paylaş: