Het lukt me maar niet een twee dimensionale array in een session-variabele te krijgen.
Ik heb onderstaande test:
Vullen van de array

 $_session['verzamelarray'][0] = array('naam' => 'ee', 'cat' => 'ee');
 $_session['verzamelarray'][1] = array('naam' => 'tt', 'cat' => 'tt');

Uitlezen van de array

 foreach ($_SESSION['verzamelarray'] as $key => $list){
   echo $key;
   echo $list['naam'];
   echo $list['cat'];
}

Maar er gebeurt niets.....
Kan iemand hier helpen?
<?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']);
?>

Reageren