2016-07-05 12 views
1
Array ([0] => { [1] => ★ Bayonet | Blue Steel (Minimal Wear) [2] => :119.41, [3] => ★ StatTrak™ Huntsman Knife | Scorched (Well-Worn) [4] => :101.65 } 

Ich möchte diese Elemente (kommt aus dem API unten verlinkt) wie folgt sortiert werden: Beispiel:PHP Arrays zu verschiedenen Variablen

ItemName = "★ Bayonet | Blue Steel (Minimal Wear)"; 
ItemPrice = "119.41"; 

Und das sollte für alle Positionen wiederholt werden. So erhalten wir einen Namen mit einem Preis für alle aufgeführten Artikel.

Im Moment habe ich diesen Code:

$priceSource = "https://api.csgofast.com/price/all"; 
    $priceData = file_get_contents($priceSource); 
    $priceList = explode(':',$priceData); 
    $priceList = explode(',',$priceData); 
    $priceList = explode('"',$priceData); 

    print_r($priceList); 

Antwort

1

Die API in Ihrem Code gibt JSON. Nachdem Sie $priceData = file_get_contents($priceSource); tun, können Sie es zu einem Array mit json_decode dekodieren.

$decoded = json_decode($priceData, true); 

Dann können Sie über das Array durchlaufen und tun, was Sie mit den Einzelteilen und deren Preisen tun müssen:

foreach ($decoded as $item => $price) { 
    echo "<p>$item costs $price</p>";  // for example 
} 
+0

So was, wenn ich ein Element in meinem Inventar ★ Bajonett genannt | Blue Steel (Minimal Wear) und möchten nur den Preis für diesen bestimmten Artikel erhalten. Wie würde ich das tun? –

+1

Wenn Sie den genauen Namen des Elements kennen, können Sie seinen Preis erhalten, indem Sie diesen Namen als Schlüssel im decodierten Array verwenden: '$ price = $ decoded ['★ Bayonet | Blauer Stahl (Minimal Wear) ']; ' –

Verwandte Themen