Array Werte auslesen - Problem

loddarmattheus

Erfahrenes Mitglied
Hi Leute,
kann mir bitte jemand mal kurz einen Tipp geben?

Ich lese eine API aus mit

PHP:
$array = json_decode($CallDepth, true);

var_dump($array);

Ausgabe lautet:


Code:
array(3)
    {
    ["lastUpdateId"]=> int(1457713840)
    ["bids"]=> array(5)
        {
        [0]=> array(2)
            {
            [0]=> string(11) "50.15000000"
            [1]=> string(10) "0.00476000"
            }
        [1]=> array(2)
            {
            [0]=> string(11) "50.14000000"
            [1]=> string(11) "15.62491000"
            }
        [2]=> array(2)
            {
            [0]=> string(11) "50.13000000"
            [1]=> string(12) "111.45432000"
            }
        }
    ["asks"]=> array(5)
        {
        [0]=> array(2)
            {
            [0]=> string(11) "50.16000000"
            [1]=> string(12) "309.47692000"
            }
        [1]=> array(2)
            {
            [0]=> string(11) "50.17000000"
            [1]=> string(12) "160.17202000"
            }
        [2]=> array(2)
            {
            [0]=> string(11) "50.18000000"
            [1]=> string(12) "639.01232000"
            }
        }
    }

Frage: Wie kann ich einer foreach Schleife alle "bids" und "asks" wiedergeben? Bei foreach($array as $row) schmeisst mir PHP nur Fehler
 
Wenn ich dies als Datenmaterial nehme
Code:
<?php
$data = array( 
    "lastUpdateId" => 1457713840,
    "bids" => array
        (
        array("50.15000000", "0.00476000"), 
        array("50.14000000", "15.62491000"), 
        array("50.13000000", "111.45432000")
        ),
    "asks" => array
        (
        array("50.16000000", "309.47692000"), 
        array("50.17000000", "160.17202000"), 
        array("50.18000000", "639.01232000")
        )
);
foreach ($data as list(list($b, $c))) {
    echo "B: $b; C: $c;<br>";
};
?>
und es mit list versuche, dann komme ich bereits einen Schritt weiter, aber nicht ans Ziel:

Ergebnis:
Code:
B: ; C: ;
B: 50.15000000; C: 0.00476000;
B: 50.16000000; C: 309.47692000;

Er listet mir nur den ersten Eintrag vom array bids und den ersten vom array asks wieder. Wieso nicht den Rest?
 
Zurück