API-Daten ausgeben (ID bestimmen)

PC Freak

Ensign
Registriert
Nov. 2003
Beiträge
233
Hallo,

ich habe ein API Objekt welches so aussieht:

Code:
PHP:
[
    {
        "id": "bitcoin", 
        "name": "Bitcoin", 
        "symbol": "BTC", 
        "rank": "1", 
        "price_usd": "7167.88", 
        "price_btc": "1.0", 
        "24h_volume_usd": "5056930000.0", 
        "market_cap_usd": "119505224921", 
        "available_supply": "16672325.0", 
        "total_supply": "16672325.0", 
        "max_supply": "21000000.0", 
        "percent_change_1h": "-0.62", 
        "percent_change_24h": "-4.34", 
        "percent_change_7d": "1.38", 
        "last_updated": "1510242555", 
        "price_eur": "6172.89224144", 
        "24h_volume_eur": "4354967432.84", 
        "market_cap_eur": "102916465639"
    }, 
    {
        "id": "ethereum", 
        "name": "Ethereum", 
        "symbol": "ETH", 
        "rank": "2", 
        "price_usd": "327.434", 
        "price_btc": "0.0456966", 
        "24h_volume_usd": "1315620000.0", 
        "market_cap_usd": "31309629749.0", 
        "available_supply": "95621193.0", 
        "total_supply": "95621193.0", 
        "max_supply": null, 
        "percent_change_1h": "0.6", 
        "percent_change_24h": "9.15", 
        "percent_change_7d": "13.56", 
        "last_updated": "1510242554", 
        "price_eur": "281.982231592", 
        "24h_volume_eur": "1132996156.56", 
        "market_cap_eur": "26963477425.0"
    }, 
    {
        "id": "bitcoin-cash", 
        "name": "Bitcoin Cash", 
        "symbol": "BCH", 
        "rank": "3", 
        "price_usd": "625.874", 
        "price_btc": "0.087347", 
        "24h_volume_usd": "861652000.0", 
        "market_cap_usd": "10498144480.0", 
        "available_supply": "16773575.0", 
        "total_supply": "16773575.0", 
        "max_supply": "21000000.0", 
        "percent_change_1h": "-0.52", 
        "percent_change_24h": "-1.77", 
        "percent_change_7d": "10.46", 
        "last_updated": "1510242570", 
        "price_eur": "538.995178312", 
        "24h_volume_eur": "742044362.576", 
        "market_cap_eur": "9040876048.0"
    }, 
]


Mit dem nachfolgenden PHP-Code (Codeschnipsel aus dem Intenet) bekomme ich die Daten (name, symbol...) der ersten ID angezeigt (Bitcoin) - weil im PHP-Code keine ID angegeben ist.

PHP:
<?php
 $data = json_decode(file_get_contents('/www/htdocs/4554535/kurs/file.txt'), true);  

$name = $data[0]['name'];
$symbol = $data[0]['symbol'];
$rank = number_format($data[0]['rank']);
$priceBTC = number_format($data[0]['price_btc'], 8);
$price_eur = number_format($data[0]['price_eur'], 0, ',', '.');
$dayVolume = number_format($data[0]['24h_volume_usd'], 2);
$marketCap = number_format($data[0]['market_cap_usd'], 2);
$totalSupply = number_format($data[0]['total_supply'], 2);
$percentChange1Hr = number_format($data[0]['percent_change_1h'], 2);
$percentChange24Hr = number_format($data[0]['percent_change_24h'], 2);
$percentChange7Days = number_format($data[0]['percent_change_7d'], 2);
$lastUpdated = $data[0]['last_updated'];

echo $price_eur; 

?>
Die Api-Datei besteht aus 500 verschiedenen ID's (Ethereum, Ripple...)

Wie kann ich z.b. die Daten der zweiten ID ausgeben (Ethereum)? Also, wie bestimme ich eine ID?

Besten Dank
 
Zuletzt bearbeitet:
Danke dir, die Reihenfolge kann sich jedoch jederzeit ändern.

Über die ID müssen sich die Daten irgendwie bestimmen lassen
 
Code:
<index> = array_search('suchwert', array_column(<array>, <key>));
für dein Beispiel also:
Code:
$key = array_search('bitcoin-cash', array_column($data, 'id'));
gibt "2" zurück, da es eben der Index 2 (also das 3. "Stück") deines Arrays ist
echo $data[$key]['name']; => 'Bitcoin Cash'
 
Zurück
Oben