Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Prośba o wytłumaczenie "prostej funkcji"
Forum PHP.pl > Forum > Przedszkole
Xerxi
  1. function usun($numer, $ilosc)
  2. {
  3.  
  4. if($this->artykuly["$numer"]>$ilosc)
  5.  
  6. $this->artykuly["$numer"]-=$ilosc;
  7.  
  8. else
  9.  
  10. $this->artykuly["$numer"]=0;
  11.  
  12. }
  13.  

Domyslam sie jak prosta ta funkcja jest, ale nie rozumiem, tego ifa.
  1. if($this->artykuly["$numer"]>$ilosc) // jesli ilosc jest wieksza od numeru? Napewno Nie. A więc Nie rozumiem.
  2.  
  3. $this->artykuly["$numer"]-=$ilosc;


Pozdrawiam.
Raito
Jeśli numer jest większy od ilości.
Xerxi
Ajaj, nie do końca o to mi chodziło.

Cały kod wyglada tak:
  1. <?php
  2.  
  3. // Początek definicji klasy Koszyk - definiującej koszyk sklepowy
  4. class Koszyk
  5. {
  6.  
  7. var $artykuly;
  8.  
  9. //metoda dodajaca podana ilosc artykulow do koszyka
  10. function dodaj($numer, $ilosc)
  11. {
  12.  
  13. $this->artykuly["$numer"] += $ilosc;
  14.  
  15. }
  16.  
  17. // Metoda usuwająca podaną ilość artykułów z koszyka
  18.  
  19. function usun($numer, $ilosc)
  20. {
  21.  
  22. if($this->artykuly["$numer"]>$ilosc)
  23.  
  24. $this->artykuly["$numer"]-=$ilosc;
  25.  
  26. else
  27.  
  28. $this->artykuly["$numer"]=0;
  29.  
  30. }
  31.  
  32. // Metoda wyświetlająca zawartość koszyka
  33.  
  34.  
  35. function wyswietl()
  36. {
  37.  
  38. while(list($k, $v) = each($this->artykuly))
  39. if($v>0)
  40. echo "Artykul nr $k - $v sztuk<br>";
  41.  
  42. }
  43.  
  44. }
  45.  
  46. // Przykład wykorzystania
  47.  
  48. $koszyk = new Koszyk;
  49. $koszyk->dodaj('20', 2);
  50. $koszyk->dodaj('12', 4);
  51. $koszyk->dodaj('20', 5);
  52. $koszyk->usun('12', 4);
  53. $koszyk->dodaj('15', 8);
  54. $koszyk->wyswietl();
  55. ?>
  56.  
  57.  


Skrypt działa i wyświetla na stronie :
  1. Artykul nr 20 - 7 sztuk
  2. Artykul nr 15 - 8 sztuk

Mianowicie:
  1. if($this->artykuly["$numer"]>$ilosc)
Czemu: jeśli numer bedzie wiekszy od ilosci? Wlasnie tego nie moge zrozumiec. Dzieki za jakąkolwiek pomoc!
Raito
$this->artykuly["$numer"] zwraca ilość produktów o podanym numerze
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.