<?php
$poesje = array();
$poesje[0] = array('naam' => 'ee', 'cat' => 'ee');
$poesje[1] = array('naam' => 'tt', 'cat' => 'tt');
foreach($poesje as $key => $list) {
$_SESSION['verzamelarray'] = $list;
var_dump($_SESSION['verzamelarray']);
}
?>
Resultaat:
array (size=2)
'naam' => string 'ee' (length=2)
'cat' => string 'ee' (length=2)
array (size=2)
'naam' => string 'tt' (length=2)
'cat' => string 'tt' (length=2)
$_session is niet hetzelfde als $_SESSION
Wil je het in een session bewaren gebruik dan ALTIJD hoofdletters.
Zorg ook dat je eerst je sessie start/voortzet met session_start().
Tenzij je sessies automatisch laat starten of session_start aanroept is de superglobal $_SESSION waarschijnlijk niet beschikbaar.
Ook hoop ik voor jou dat register_globals uit staat.
Davy Blaat: dat werkt prima. Maar hoe lees ik die $_SESSION['verzamelarray'] uit?
Optie 1
Foreach():
<?php
$poesje = array();
$poesje[0] = array('naam' => 'Felix', 'cat' => 'Miauw');
$poesje[1] = array('naam' => 'Pipo', 'cat' => 'Miauw');
foreach($poesje as $key => $list) {
$_SESSION['verzamelarray'] = $list;
echo 'Naam: ' . $_SESSION['verzamelarray']['naam'] . ' - Poesje: ' . $_SESSION['verzamelarray']['cat'] . '<br />';
}
?>
Optie 2
array_map()
<?php
$_SESSION['verzamelarray'] = array(0 => array('naam' => 'Felix', 'cat' => 'Miauw'), 1 => array('naam' => 'Pipo', 'cat' => 'Miauw'));
array_map(function ($list) {
echo "Naam: ", $list['naam'], " - Poesje: ", $list['cat'], "<br />";
}, $_SESSION['verzamelarray']);
?>