login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Array klopt niet

Offline BladiN - 25/09/2004 19:39
Avatar van BladiNGouden medailleGouden medaille

Grafische gevorderde
Dit is wat ik heb als array's
  1. $types = array("art" => "Artilleries","cav" => "Cavalries","inf" => "Infantries","nav" => "Naval Units");
  2.  
  3. $types['art'] = array("cat" => "Catapult");
  4. $types['cav'] = array("kni" => "Knight");
  5. $types['inf'] = array("hop" => "Hoplitai","arc" => "Archer","spe" => "Spearsman");
  6. $types['nav'] = array("gal" => "Galley","car" => "Caravel");


ten eerst klopt dit dus al niet omdat hij op deze manier de naam van bv Infantries wegfiltert.

Hoe kan ik het zo doen dat het maar in 1 array hoeft met ondergeschikten (de Spearsman enzo) en dat de naam nog wel werkt?

5 antwoorden

Gesponsorde links
Offline Thomas - 25/09/2004 19:49 (laatste wijziging 25/09/2004 19:50)
Avatar van Thomas Moderator
  1. $types = array();
  2. $types['art'] = array("name" => "Artilleries", "units" => array("cat" = > "Catapult"));
  3. $types['cav'] = array("name" => "Cavalries", "units" => array("kni" => "Knight"));
  4. $types['inf'] = array("name" => "Infantries", "units" => array("hop" => "Hoplitai","arc" => "Archer","spe" => "Spearsman"));
  5. $types['nav'] = array("name" => "Naval Units", "units" => array("gal" => "Galley","car" => "Caravel"));
  6.  
  7. naam van art:
  8. $types['art']['name'] (dit is een string, levert "Artilleries")
  9.  
  10. array van units:
  11. $types['art']['units'] (dit is een array, levert array("cat" = > "Catapult"))
  12.  
  13. unitnaam van Knight in Cavalries:
  14. $types['cav']['units']['kni'] (dit is een string, levert "Knight")
Offline BladiN - 25/09/2004 19:56
Avatar van BladiN Gouden medailleGouden medaille

Grafische gevorderde
Ok, dat heb ik.. en dan krijg je dit:

  1. foreach($types as $name => $type) {
  2.  
  3. $tpl->newBlock("type");
  4.  
  5. $tpl->assign(array("t_name" => $type['name'],
  6. "t_own" => "You Own",
  7. "t_max" => "Max",
  8. "t_amount" => "Amount"
  9. ));
  10.  
  11. foreach($type as $name => $unit) {
  12. $tpl->newBlock("units");
  13.  
  14. $tpl->assign(array("n_name" => $unit,
  15. "n_own" => "You Own",
  16. "n_max" => "Add",
  17. "no" => $this->no++
  18. ));
  19. }
  20.  
  21. }


Dat klopt dus ook niet helemaal.. want als er bv de ene 3 heeft en de ander 2, geeft hij bij die ene van 2 één array als naam weer :S hoe doe ik dit goed dan?
Offline Thomas - 25/09/2004 20:01
Avatar van Thomas Moderator Euh, je hebt 2 foreaches in elkaar met dezelfde aliasen voor keys en values. Gaat dit wel goed ?
Offline BladiN - 25/09/2004 20:59
Avatar van BladiN Gouden medailleGouden medaille

Grafische gevorderde
Erm het moet lukken ja, ik moet alleen kijken hoe ik het dan moet doen (het gaat om die arrays die je dus net gegeven hebt) bij de eerste is het de bedoeling dat hij de 4 namen pakt, bij de 2e de vars die daaronder behoren. Dus ik probeerde het zo maar het lukt nie echt :S
Offline BladiN - 26/09/2004 18:03
Avatar van BladiN Gouden medailleGouden medaille

Grafische gevorderde
Weer een probleem, nu heb ik dit dus:
  1. $types = array();
  2. $types['art'] = array("name" => "Artilleries",
  3. "units" => array("cat" => "Catapult",
  4. "attacks" => array("bui" => "Buildings")
  5. ));
  6. $types['cav'] = array("name" => "Cavalries",
  7. "units" => array("kni" => "Knight",
  8. "attacks" => array("cav" => "Cavalries",
  9. "inf" => "Infantries"
  10. )));
  11. $types['inf'] = array("name" => "Infantries",
  12. "units" => array("hop" => "Hoplitai",
  13. "attacks" => array("cav" => "Cavalries",
  14. "inf" => "Infantries",
  15. "arc" => "Archer",
  16. "attacks" => array("cav" => "Cavalries",
  17. "inf" => "Infantries",
  18. "nav" => "Naval Units",
  19. "spe" => "Spearsman",
  20. "attacks" => array("bui" => "Buildings",
  21. "inf" => "Infantries"
  22. )))));
  23. $types['nav'] = array("name" => "Naval Units",
  24. "units" => array("gal" => "Galley",
  25. "attacks" => array("bui" => "Buildings",
  26. "nav" => "Naval Units",
  27. "car" => "Caravel",
  28. "attacks" => array("bui" => "Buildings"
  29. ))));


Maar dat geeft (bij het stukje infantrie)
  1. [inf] => Array
  2. (
  3. [name] => Infantries
  4. [units] => Array
  5. (
  6. [hop] => Hoplitai
  7. [attacks] => Array
  8. (
  9. [cav] => Cavalries
  10. [inf] => Infantries
  11. [arc] => Archer
  12. [attacks] => Array
  13. (
  14. [cav] => Cavalries
  15. [inf] => Infantries
  16. [nav] => Naval Units
  17. [spe] => Spearsman
  18. [attacks] => Array
  19. (
  20. [bui] => Buildings
  21. [inf] => Infantries
  22. )
  23.  
  24. )
  25.  
  26. )
  27.  
  28. )
  29.  
  30. )


terwijl het dit moet worden
  1. [inf] => Array
  2. (
  3. [name] => Infantries
  4. [units] => Array
  5. (
  6. [hop] => Hoplitai
  7. [attacks] => Array
  8. (
  9. [cav] => Cavalries
  10. [inf] => Infantries
  11. )
  12. [arc] => Archer
  13. [attacks] => Array
  14. (
  15. [cav] => Cavalries
  16. [inf] => Infantries
  17. [nav] => Naval Units
  18. )
  19. [spe] => Spearsman
  20. [attacks] => Array
  21. (
  22. [bui] => Buildings
  23. [inf] => Infantries
  24. )
  25.  
  26. )
  27.  
  28. )
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.799s