login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Foreach loopt niet correct (Opgelost)

Offline maigel - 18/07/2011 17:28
Avatar van maigelPHP beginner Hallo,

Ik heb dit basis stukje code:
  1. foreach($list as $price => $amount);
  2. {
  3. echo $amount. "x" . $price . "<br />";
  4. }


met list als
  1. (
  2. [1000] => 1
  3. [1200] => 1
  4. [1300] => 1
  5. )


Dus normaal gezien zou dit als output moeten geven:
1x1000
1x1200
1x1300

maar ik krijg enkel:
1x1300

ik ben 100% zeker van de inhoud van $list aangezien de waardes hier rechtstreeks gecopy-paste zijn van print_r($list).
Iemand een idee waarom dit niet de correcte output geeft?

10 antwoorden

Gesponsorde links
Offline WouterJ - 18/07/2011 19:01
Avatar van WouterJ HTML gevorderde Je vergeet de , achter array items:
  1. 1000 => 1,
  2. 1200 => 1,
  3. 1300 => 1
  4. );


(PS [1000] => of 1000 => is hetzelfde)
Offline lemoinet - 18/07/2011 19:59
Avatar van lemoinet PHP gevorderde de puntkomma achter de foreach moet daar niet staan.
Offline Abbas - 18/07/2011 21:53
Avatar van Abbas Gouden medaille

Crew .NET
Citaat:
Je vergeet de , achter array items:
Beetje nutteloze reply gezien de context en de onverwachte output; vind je niet?
Offline maigel - 18/07/2011 22:59
Avatar van maigel PHP beginner
Waldio schreef:
Je vergeet de , achter array items:

De array die ik daar gegeven heb ik de output van print_r en niet hoe de array in mijn code gedefinieerd wordt.

lemoinet schreef:
de puntkomma achter de foreach moet daar niet staan.

Hmm, die staat er ook niet, heb ik waarschijnlijk er per ongeluk achter gezet tijdens het copy-pasten in dit topic 
Offline Aar - 19/07/2011 10:09 (laatste wijziging 19/07/2011 10:09)
Avatar van Aar PHP interesse
titjes schreef:
[..quote..]Beetje nutteloze reply gezien de context en de onverwachte output; vind je niet?
Hoezo nutteloos? Het zou toch kunnen dat hij dat vergeten is? Copy paste uit een print_r en in je PHP-code kwakken, en voila, een defecte array.

Trek je altijd zo snel conclusies of... ;)?
Offline Abbas - 19/07/2011 10:50
Avatar van Abbas Gouden medaille

Crew .NET
Als hij die ; was vergeten in zijn code zou hij wel een heel andere foutmelding krijgen dan hetgeen hij nu op z'n scherm te zien krijgt! Een beetje programmeur kan uit het begintopic afleiden dat die 'vergeten' ; niet de oorzaak van z'n probleem is!
Offline ArieMedia - 19/07/2011 11:32
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
maigel schreef:
[..quote..]
De array die ik daar gegeven heb ik de output van print_r en niet hoe de array in mijn code gedefinieerd wordt.

[..quote..]
Hmm, die staat er ook niet, heb ik waarschijnlijk er per ongeluk achter gezet tijdens het copy-pasten in dit topic 
Kan je posten wat je echt in je code hebt staan?
Dus zonder copy/paste foutjes en graag hoe je de array aanmaakt 
Offline maigel - 19/07/2011 15:46 (laatste wijziging 19/07/2011 15:46)
Avatar van maigel PHP beginner Dit is de exacte code, de array wordt opgemaakt uit data die uit de database wordt gehaald

  1. <?php
  2. foreach($items as $name => $list)
  3. {
  4. echo $name . "<br />";
  5.  
  6. foreach($list as $price => $amount);
  7. {
  8. echo $amount. "x" . $price . " <br />";
  9. }
  10. }
  11. ?>
Offline icemar - 19/07/2011 17:32
Avatar van icemar Lid Zo werkt het wel ff de waarde voor de list gevuld wat normaal uit de database komt.
  1. $list = Array(
  2. 1000 => 1,
  3. 1200 => 1,
  4. 1300 => 1,
  5. );
  6.  
  7. foreach($list as $price => $amount)
  8. {
  9. echo $amount. "x" . $price . " <br />";
  10. }
Offline WouterJ - 19/07/2011 17:35
Avatar van WouterJ HTML gevorderde
titjes schreef:
Als hij die ; was vergeten in zijn code zou hij wel een heel andere foutmelding krijgen dan hetgeen hij nu op z'n scherm te zien krijgt! Een beetje programmeur kan uit het begintopic afleiden dat die 'vergeten' ; niet de oorzaak van z'n probleem is!

Als je goed leest had je ook gezien dat ik het over de , had en niet over de ; dat ik de ; erbij had gezet in de code is gewoon automatisch gegaan...
En probeer maar eens de code van de array te gebruiken. Het zal niet lukken omdat je de , er niet in hebt. Ik denk heus wel na voor ik een antwoord plaats en ik probeer ook zeker wel de TS te helpen.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s