Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Prośba o wytłumaczenie "prostej funkcji"
Xerxi
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.04.2015

Ostrzeżenie: (0%)
-----


  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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Raito
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

Ostrzeżenie: (0%)
-----


Jeśli numer jest większy od ilości.
Go to the top of the page
+Quote Post
Xerxi
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.04.2015

Ostrzeżenie: (0%)
-----


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!

Ten post edytował Xerxi 19.04.2015, 15:35:50
Go to the top of the page
+Quote Post
Raito
post
Post #4





Grupa: Zarejestrowani
Postów: 156
Pomógł: 19
Dołączył: 27.04.2014

Ostrzeżenie: (0%)
-----


$this->artykuly["$numer"] zwraca ilość produktów o podanym numerze
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:38