login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Stomme switchfout?

Offline lasdesigner - 14/02/2007 16:13
Avatar van lasdesignerPHP beginner Ik heb (ws een domme) switchfout.
  1. <?php
  2. switch($this->ks) {
  3. case < 5:
  4. $ksding = $ks1;
  5. break;
  6. case < 15:
  7. $ksding = $ks10;
  8. break;
  9. case < 25:
  10. $ksding = $ks20;
  11. break;
  12. case < 35:
  13. $ksding = $ks30;
  14. break;
  15. case < 45:
  16. $ksding = $ks40;
  17. break;
  18. case < 55:
  19. $ksding = $ks50;
  20. break;
  21. case < 65:
  22. $ksding = $ks60;
  23. break;
  24. case < 75:
  25. $ksding = $ks70;
  26. break;
  27. case < 85:
  28. $ksding = $ks80;
  29. break;
  30. case < 95:
  31. $ksding = $ks90;
  32. break;
  33. case < 100:
  34. $ksding = $ks100;
  35. break;
  36. }
  37. ?>


Weet iemand wat hier fout aan is, dat < teken werkt niet:
Parse error: parse error, unexpected '<' in D:\wamp\www\buscetta\buscettav2\includes\classes\world.class.php on line 953

Maar hoe moet het dan wel?

Groet,

5 antwoorden

Gesponsorde links
Offline xSc - 14/02/2007 16:21
Avatar van xSc Onbekend case < 5

Zoals jij het wilt, gebruik ik het niet. Wellicht:

$this->ks < 5

Verder: jouw code kan een stuk korter. Er zit nl. een eenvoudig verband is, dus dat is simpel op te lossen.
Offline lasdesigner - 14/02/2007 16:27
Avatar van lasdesigner PHP beginner Ja ik heb het nu zo:

  1. <?php
  2. $ksS = $this->ks;
  3. if($ksS < 5 && $ksS > 0) { $ksding = $ks1; }
  4. elseif($ksS < 15 && $ksS > 4.99) { $ksdind = $ks10; }
  5. elseif($ksS < 25 && $ksS > 14.99) { $ksding = $ks20; }
  6. elseif($ksS < 35 && $ksS > 24.99) { $ksding = $ks30; }
  7. elseif($ksS < 45 && $ksS > 34.99) { $ksding = $ks40; }
  8. elseif($ksS < 55 && $ksS > 44.99) { $ksding = $ks50; }
  9. elseif($ksS < 65 && $ksS > 54.99) { $ksding = $ks60; }
  10. elseif($ksS < 75 && $ksS > 64.99) { $ksding = $ks70; }
  11. elseif($ksS < 85 && $ksS > 74.99) { $ksding = $ks80; }
  12. elseif($ksS < 95 && $ksS > 84.99) { $ksding = $ks90; }
  13. elseif($ksS <= 100 && $ksS > 94.99) { $ksding = $ks100; }
  14. else { $ksding = $ks1; }
  15. ?>
Offline Ibrahim - 14/02/2007 17:31
Avatar van Ibrahim PHP expert Je kunt eerder een array en een foreach gebruiken.
Offline jeroentjuh - 14/02/2007 17:52
Avatar van jeroentjuh PHP ver gevorderde Zoiets zou ook kunnen.
  1. <?php
  2. $ks2 = $this->ks;
  3. $getal = floor($ks2/10)*10;
  4. if($getal == 0) {
  5. $getal = 1;
  6. }
  7. $ksding = ${ks.$getal};
  8. ?>

Let op: het is maar een voorbeeldje, dus ik weet niet zeker of het werkt.
Offline Stijn - 14/02/2007 18:56
Avatar van Stijn PHP expert loOl een case met <

  1. <?php
  2. switch( $var )
  3. {
  4. case 1: $action break;
  5. case 10: $action break;
  6. .....
  7. }
  8. ?>


je kan het met if/else doen en je kan het met een array doen.

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.329s