Door de array lopen, en tegelijkertijd een variabele maken die de hoogste waarde bijhoud.
Dan check je of $array[$i]['subtotaal'] groter is dan de waarde in de variabele.
Zo ja, die waarde er in zetten, zo nee, de waarde laten staan.
Bedoel je door $_SESSION['cart'] heenlopen?
dat gebeurt al bij regel 29, maar is het niet een idee om daarin dan een sessie te maken als $_SESSION['duurstesubtotaal'] = max( ?????);
Anders begrijp ik even niet wat je bedoeld.
Nu even brutaal:
Zou je het voor mij zo kunnen zetten dat het werkt, ik ben hier inmiddels alweer 2 dagen mee bezig?
Als je dat niet doet snap ik het, doe je het wel is mijn dank ontzettend groot, hahahaha.
<?php
// De array...
$aWaarden = array('blaat' => 18, 'blaat2' => 3, 'blaat4' => 21);
// Alle waardes...
$aValues = array_values($aWaarden);
// Loop alle waardes uit de array door...
for ($i = 0; $i < count($aWaarden); $i++)
{
// Kijken of het een getal is...
if (ctype_digit($aValues[$i]))
{
// Kijken of er al een keer een value is opgeslagen...
if (!IsSet($iHoogste))
{
// Zoniet, doen we dat nu...
$iHoogste = $aValues[$i];
}
else
{
// Anders kijken we het oude kleiner was...
if ($iHoogste < $aValues[$i])
{
// We overschrijven de waarden...
$iHoogste = $aValues[$i];
}
}
}
}
?>
Ik ga het zeker proberen.
Als het gelukt is hoor je het (als het niet is gelukt, hoor je het ook, hahaha).
FangorN, ik krijg al een foutmelding.
Fatal error: Cannot use [] for reading in /home/*****/domains/*********.eu/public_html/nl/winkel/winkelwagen.php on line 371
Wat zou dat dan moeten worden?
Thomas - 06/09/2006 14:24 (laatste wijziging 06/09/2006 14:25)
Moderator
Als je met arrays gaat werken, is het handig als je hier zelf enige handigheid voor ontwikkelt.
Hiertoe kun je het beste bij tijd en wijlen bij wijze van debug je array-structuur op het scherm dumpen (zie codefragment hierboven).
Als je een array probeert uit te lezen, en dit levert niet het juiste resultaat op, dan helpt dit enorm bij het debuggen (en voor het begrip natuurlijk ook).
Je hebt zelf volledige zeggenschap over hoe je arrays opgebouwd worden, dus maak je een structuur die handig werkt.
Wat ik in een cart zou verwachten is een lijst met product-id's, en de daarbij horende aantallen (en eventueel een prijs). De rest van de informatie (subtotaal, wat betekent dat eigenlijk? aantal x prijs?) is afleidbaar, dus deze sla je IMO niet op in je sessie. Dit omdat het niet nodig is, en omdat je zo makkelijker het overzicht kunt bewaren.
Ik moedig je hiermee aan om jezelf te verdiepen in de array / sessie materie en een serieuze poging onderneemt je deze materie eigen te maken.
EDIT
Hierbij zou je simpel kunnen beginnen met enkel een array, en dit daarna pas overhevelt naar sessies enzo.
Ik heb al een tijdje problemen met array's inderdaad.
In de sessie cart zit in mijn geval produkt_id en aantal.
Daaraan wordt in bovenstaande code subtotaal toegevoegd om deze ook buiten de foreach te kunnen gebruiken.
Ik probeer zoveel mogelijk de array's uit te lezen, maar echt helemaal goed ermee omgaan kan ik nog niet.
Kun je mij vertellen hoe mijn code er dan uit zou moeten zien?
(als ik het zie begrijp ik het meestal wel, maar om zelf te verzinnen vind ik altijd lastig).
[edit]
een reaktie op jouw edit:
De code is totaal 680 regels, dus heb ik alleen de relevante code geplaatst.
Die sessies heb ik vaker nodig.
[/edit]
Dump nu gewoon eens je shoppingcart, en ga eens spelen met de for()- en foreach()-lus. We kunnen je wel code voorkauwen, maar als je het niet snapt, sta je hier over 5 tellen weer met een vraag over arrays. Het is belangrijk dat je het zelf ook snapt en je leert dit soort dingen alleen door het te doen.