login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere keren opslaan in Array op basis van aantal

Offline Jointjeff - 17/07/2013 11:07 (laatste wijziging 17/07/2013 11:09)
Avatar van JointjeffHTML interesse Hallo iedereen,

Ik vraag me het volgende af. Ik heb een array met deze constructie.

  1. $bestelling[] = array( 'item' = array( 'aantal' => 2, 'product' => 'Afvalcontainer' ) );


Omdat ik de producten ook afzonderlijk in een nieuwe array wil opslaan vraag ik me af hoe ik een product twee keer kan toevoegen (omdat het aantal 2 is).

Uiteinderlijk wil ik dat dit er uit ontstaat:

  1. $producten[] = array( 'product' => 'Afvalcontainer', 'ophaalstatus' => 0), array('product' => 'Afvalcontainer', 'ophaalstatus' => 0 );


Dus dat de product 2 keer wordt toegevoegd. Ik hoop dat het duidelijk is. Ik begrijp dat dit met een foreach moet maar ik heb geen idee hoe je iets twee keer in een nieuwe array opslaat.

Overigens is het aantal variabel.

Ik hoop op een antwoord.

4 antwoorden

Gesponsorde links
Offline Martijn2008 - 17/07/2013 13:53
Avatar van Martijn2008 PHP beginner Hi Jointjeff - leuke vraag. Zou je de vraag wat kunnen toelichten?
Waarom wil je bijvoorbeeld producten ook afzonderlijk in een nieuwe array opslaan (dat kan leiden tot inconsistentie)?
In de tweede array zie ik dat je een item hebt toegevoegd, ophaalstatus (waar komt die vandaan?).

Overigens, in plaats van de productnaam zou ik het productid gebruiken, omdat die altijd uniek is. Je kunt immers de productnaam ophalen uit de database.
Offline Jointjeff - 17/07/2013 14:32
Avatar van Jointjeff HTML interesse Martijn je hebt gelijk, ik heb ook niet alle waardes binnen de array toegevoegd in het voorbeeld maar product_id is ook van de partij.

En eerlijk, ik weet dat dit niet de juiste werkwijze is zo, maar als ik eerder van bepaalde functionaliteiten had geweten had ik het anders gebouwd ;)

Vandaar deze benadering. Er moet simpel weg een lijst komen met producten die niet zijn opgehaald, en die ook weer van status moet worden verandert wanneer dit wel gedaan is.

Bedankt voor je reactie!
Offline Martijn2008 - 17/07/2013 14:50 (laatste wijziging 17/07/2013 14:51)
Avatar van Martijn2008 PHP beginner Cool. Het klinkt als vrij simpel te maken.
Ik probeer je te volgen, dit lukt me tot op zekere hoogte, maar niet helemaal.
Kun je stap voor stap is uitleggen wat je precies wilt. Wat is de invoer, bewerking en uitvoer.

Laten we beginnen met een lege functie.

Ik ga ervan uit, dat je alle producten terug wilt hebben als een array en dat je array bestelling als invoer geeft. Klopt dit?
  1. <?php
  2.  
  3. function GetAllProducten($bestelling)
  4. {
  5. // Wat moet hier gebeuren?
  6. }
  7.  
  8. ?>
Offline Jointjeff - 17/07/2013 16:24
Avatar van Jointjeff HTML interesse Hey Martijn,

Bedankt voor je tijd. Ik heb ik het inmiddels op een andere manier kunnen oplossen. Een oplossing plaatsen heeft geen zin want de functionaliteit is dusdanig anders. Kort gezegd: eigenlijk is het vervallen.

Niettemin ben ik nog wel geïnteresseerd in de oplossing.

- Je hebt een array met de bestelling met daarin een serialized array met product_id & aantal.
- Nu dacht ik hier ook simpelweg ook ophaalstatus aan toe te voegen.
- Echter moet deze status voor ieder product in de lijst beschikbaar worden. Dus ook voor de afzonderlijke aantallen.
- Daarom wilde ik een nieuwe array maken met daarin een lijst met alle producten (ook al zijn er dus van sommige dezelfde) en hier dan de ophaalstatus aan toevoegen.
- Daarna kan je door middel van een simpele $count++; gemakkelijk vaststellen waar de status moet worden aangepast.

Pff, ik hoop dat dit duidelijk is. Kan me voorstellen dat het allemaal wat "vaag" overkomt ;)
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.181s