Beste allemaal,

ik zit al een tijd lang te stoeien met de manier waar op je op een effectieve manier Array laat weergeven op mijn site. Dit is een voorbeeld van de Array zoals deze via een Facebook applicatie word gevormd.

Ik zou graag alle onderdelen van de Array apart willen oproepen.

Array
(
[data] => Array
(
[0] => Array
(
[message] =>******
[story] => ****
[created_time] => 2016-10-05T09:10:19+0000
[id] => ****
)

Wat is nu handig? Sommige voorbeelden geven 3 foreach die in elkaar verweven zitten. Ik krijg het niet helemaal helder. Ik hoop dat jullie mij hierbij kunnen helpen. Als iemand het kan zou ik het heel tof vinden als niet alleen een code geplaatst word maar daarbij ook een korte uitleg waarom de code zo geformuleerd is.
Op basis van de miljoenmiljard voorbeelden op de interwebs heb ik dit bedacht :

<?php

$data = array (
	'data' => array (
		'message' => '******',
		'story' => '****',
		'created_time' => '2016-10-05T09:10:19+0000',
		'id' => '****'
	)
);

echo '<pre>';
print_r($data);
echo '</pre>';

foreach ($data as $key => $value) {
	foreach ($value as $key2 => $value2) {
		echo $key2 . ' - ' . $value2 . '<br />';
	}
}

?>
Hebben alle array's meerdere records?
Beste Adoptive Solution, bedankt voor je reactie. Je geeft inderdaad een voorbeeld zoals ook ik deze al op internet had gevonden. Misschien dat ik mijn vraag niet goed genoeg gesteld heb. Wat ik namelijk nu nog niet weet is hoe ik uit de Array's bijvoorbeeld alleen het [id] kan ophalen?

@SanThe, ja alle Array's hebben meerder records. Ze zien er afgezien van de inhoud allemaal het zelfde uit.
Op deze manier kan je het id ophalen:

$nieuw = $data['id']

Stel je duwt nog een array in $data, dan lees je het zo uit:

$nieuw2 = $data['nogeenarray']['id'];
De meest voorkomende variant is toch wel de associatieve array in de numerieke array.
<?php
$array = array( // <-- numerieke array (automatische nummering vanaf 0)
array( // <-- associatieve array
'id' => 1,
'message' => 'bla bla bla',
'created' => '2016-10-05 09:10:19',
),
array( // <-- associatieve array
'id' => 2,
'message' => 'nog meer bla bla bla',
'created' => '2016-10-06 10:05:12',
)
);

foreach($array as $item)
{
echo $item['id'] . '<br>';
echo $item['message'] . '<br>';
echo $item['created'] . '<br><br>';
}

//Benaderen zonder foreach kan ook:
echo $array[0]['id'] . '<br>';
echo $array[0]['message'] . '<br>';
echo $array[0]['created'] . '<br><br>';
echo $array[1]['id'] . '<br>';
echo $array[1]['message'] . '<br>';
echo $array[1]['created'] . '<br><br>';
// zoals je ziet begint de telling bij 0.
?>

[size=xsmall]Toevoeging op 06/10/2016 20:03:56:[/size]

Mocht je (later) een stapje verder willen gaan dan kun je ook een array van objecten maken.
<?php
class Message
{
public $id;
public $message;
public $created;

public function __construct($id, $message, $created = '')
{
$this->id = $id;
$this->message = $message;
$this->created = new \DateTime($created);
}

// hier de getters en setters
}

$array = array(
new Message(1, 'bla bla bla'),
new Message(2, 'nog meer bla bla bla'),
);


foreach($array as $item)
{
echo $item->id . '<br>';
echo $item->message . '<br>';
echo $item->created . '<br><br>';
}


//Benaderen zonder foreach kan ook:
echo $array[0]->id . '<br>';
echo $array[0]->message . '<br>';
echo $array[0]->created . '<br><br>';
echo $array[1]->id . '<br>';
echo $array[1]->message . '<br>';
echo $array[1]->created . '<br><br>';
?>

Reageren