PHP expert |
|
Waarom maak je zo'n lastige constructie ? Een sessie in PHP is gelijk als elk andere variabele. Dus het kan ook een Array bevatten.
/**
* Als een winkelwagen niet bestaat, dan moet je hier eentje aanmaken.
* Je ziet dat ik een array aanmaak voor de winkelwagen, later zul
* je zien waarom.
*/
$_SESSION['winkelwagen'] = array();
/**
* Nu de winkelwagen aangemaakt is, laten we hem vullen.
* Ik heb twee producten, met Id 1 en Id 2.
* Ik heb van product-Id 1, 4 producten besteld.
* Van product-Id-2 heb ik er 6 besteld.
*/
$_SESSION['winkelwagen'][1] = 4;
$_SESSION['winkelwagen'][2] = 6;
/**
* Nu wil ik graag de inhoud weergeven van mijn winkelwagen.
* Het aantal per product, en de totale aantal.
*/
foreach ($_SESSION['winkelwagen'] as $productId => $quantity) {
echo 'U heeft van product-Id <strong>' . $productId . '</strong> een aantal van <strong>' . $quantity . '</strong> besteld';
echo '<br />';
}
echo 'U heeft in totaal <strong>' . array_sum( $_SESSION['winkelwagen'] ) . '</strong> producten besteld';
/**
* Zoals je kunt zien, is het veel overzichtelijker om een array te gebruiken,
* i.p.v. een string die je dan explode. Ook kun je hier wat meer informatie
* opslaan. Als u meerdere informatie per product wil opslaan, gebruik
* je gewoon een 2-dimensionele array:
*/
$_SESSION['winkelwagen'][1] = array(
'informatie1' => 'informatie 1',
'informatie2' => 'informatie 2',
'quantity' => 4
);
/**
* Hier loop je dan doorheen om alle informatie te krijgen.
* Maar zoiets kun jij ook wel verzinnen, veel succes ;-)
*/
?>
/** * Als een winkelwagen niet bestaat, dan moet je hier eentje aanmaken. * Je ziet dat ik een array aanmaak voor de winkelwagen, later zul * je zien waarom. */ $_SESSION['winkelwagen'] = array(); /** * Nu de winkelwagen aangemaakt is, laten we hem vullen. * Ik heb twee producten, met Id 1 en Id 2. * Ik heb van product-Id 1, 4 producten besteld. * Van product-Id-2 heb ik er 6 besteld. */ $_SESSION['winkelwagen'][1] = 4; $_SESSION['winkelwagen'][2] = 6; /** * Nu wil ik graag de inhoud weergeven van mijn winkelwagen. * Het aantal per product, en de totale aantal. */ foreach ($_SESSION['winkelwagen'] as $productId => $quantity) { echo 'U heeft van product-Id <strong>' . $productId . '</strong> een aantal van <strong>' . $quantity . '</strong> besteld'; } echo 'U heeft in totaal <strong>' . array_sum( $_SESSION['winkelwagen'] ) . '</strong> producten besteld'; /** * Zoals je kunt zien, is het veel overzichtelijker om een array te gebruiken, * i.p.v. een string die je dan explode. Ook kun je hier wat meer informatie * opslaan. Als u meerdere informatie per product wil opslaan, gebruik * je gewoon een 2-dimensionele array: */ $_SESSION['winkelwagen'][1] = array( 'informatie1' => 'informatie 1', 'informatie2' => 'informatie 2', 'quantity' => 4 ); /** * Hier loop je dan doorheen om alle informatie te krijgen. * Maar zoiets kun jij ook wel verzinnen, veel succes ;-) */ ?>
|