login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Getallen bij elkaar optellen/preg_match (Opgelost)

Offline brantje - 14/04/2008 13:52
Avatar van brantjeNieuw lid Ey,
ik speel het spel ogame, weet niet of jullie dat kennen.
ik heb hier het volgende:
  1. De aanvaller heeft het gevecht gewonnen!
  2. Hij steelt
  3. 463.375 Metaal, 171.762 Kristal en 115.772 Deuterium


Nu wil ik door middel van een textarea, het totaal van alles wat geplakt is berekenen.

Dus zo iets:
  1. De aanvaller heeft het gevecht gewonnen!
  2. Hij steelt
  3. 400.000 Metaal, 150.000 Kristal en 100.000 Deuterium
  4.  
  5.  
  6. De aanvaller heeft het gevecht gewonnen!
  7. Hij steelt
  8. 400.000 Metaal, 150.000 Kristal en 100.000 Deuterium

Totaal:
800.000 Metaal
300.000 Kristal
200.000 Deuterium

Hoe kan ik dat het beste doen?

Greetz,
brantje

4 antwoorden

Gesponsorde links
Offline Stijn - 14/04/2008 14:08 (laatste wijziging 14/04/2008 14:12)
Avatar van Stijn PHP expert
  1. preg_match_all("~([\d|\.]+) Metaal, ([\d|\.]+) Kristal en ([\d|\.]+) Deuterium~" , $variabele , $results);


$results zal een multidimensionele array zijn. Dat wil zeggen dat de eerste zin die hij matched in rij 0 stopt, de tweede zin in rij 1 ...

  1. $metaal = 0;
  2. $kristal = 0;
  3. $deuterium = 0;
  4.  
  5. foreach( $results[1] as $iMetaal ) {
  6. $metaal += (float) $iMetaal;
  7. }
  8.  
  9. foreach( $results[2] as $iKristal ) {
  10. $kristal += (float) $iKristal;
  11. }
  12.  
  13. foreach( $results[3] as $iDeuterium ) {
  14. $deuterium += (float) $iDeuterium;
  15. }
Offline brantje - 14/04/2008 14:36
Avatar van brantje Nieuw lid En is het mogelijk dat hij de punten er uithaalt, en dan zonder de punten gaat berekenen?
Dan kan ik ook wat meer met de waardes.
Offline Stijn - 14/04/2008 14:49
Avatar van Stijn PHP expert
  1. preg_match_all("~(\d+) Metaal, (\d+) Kristal en (\d+) Deuterium~" , $variabele , $results);
Nu moet je enkel nog de puntjes uit je getallen halen.
Offline brantje - 14/04/2008 15:16
Avatar van brantje Nieuw lid dus als ik het goed begrijpt, maakt ie van 15.000 dan gewoon 15000.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s