Array
(
    [730] => Array
        (
            [item32] => Array
                (
                    [value] => 5.25
                )

            [item744] => Array
                (
                    [value] => 106.67
                )

            [item823] => Array
                (
                    [value] => 5.3
                )
       )
)

Nu probeer ik die stuk voor stuk te printen :
<?php
$items = json_decode(file_get_contents('items.json'), true);
$c = 0;
foreach($items as $item) {
echo $item[$c];
echo '<br>';
echo $item['value'];
$c++;
}
?>
Maar ik doe wat fout, zou iemand mij kunnen helpen?
Ik verwerk alleen maar arrays, elke array is anders :p
PHP kent naast numerieke arrays ook associatieve arrays en in jouw voorbeeld is het een associatieve en dan heb je dus niets aan een tellertje. Verder gaat de array wel drie lagen diep

<?php
foreach($items as $key1 => $value1)
{
if(is_array($value1)
{
foreach($value1 as $key2 => $value2)
{
if(is_array($value2)
{
foreach($value2 as $key3 => $value3)
{
echo $key3 . ': ' . $value3 . '<br>';
}
}
}
}
}
?>
<?php

$numbers = json_decode(file_get_contents('items.json'), true);

// loop de array af, dus $array[730] etc
foreach($numbers as $number)
{
// $number is dus de sub-array, dus $array[730]['item32']
foreach($number as $item)
{
echo $item['value']; // 5.25 etc
}
}
?>
Wat doet de if(is_array($value1) als ik vragen mag?

Bedankt voor de reacties.

Eddy E op 14/01/2015 16:14:54

<?php

$numbers = json_decode(file_get_contents('items.json'), true);

// loop de array af, dus $array[730] etc
foreach($numbers as $number)
{
// $number is dus de sub-array, dus $array[730]['item32']
foreach($number as $item)
{
echo $item['value']; // 5.25 etc
}
}
?>

Met echo $number print ik 'item32' ?

Array5.25Array
is_array kijkt of een variabele wel een array is. zo ja dan kun je er een foreach mee doen zo nee dan kun je hem eventueel met 'echo' printen.
Dit werkt voor mij, bedankt voor de hulp
<?php
$prices = json_decode(file_get_contents('items.json'), true);

foreach($prices as $game => $games) {
if ($game == 730) {
foreach($games as $item => $items) {
foreach($items as $prices => $price) {
echo $item . ' : ' . $price . '<br>';
}
}
}
}
?>

Reageren