Ajaj, nie do końca o to mi chodziło.
Cały kod wyglada tak:
<?php
// Początek definicji klasy Koszyk - definiującej koszyk sklepowy
class Koszyk
{
var $artykuly;
//metoda dodajaca podana ilosc artykulow do koszyka
function dodaj($numer, $ilosc)
{
$this->artykuly["$numer"] += $ilosc;
}
// Metoda usuwająca podaną ilość artykułów z koszyka
function usun($numer, $ilosc)
{
if($this->artykuly["$numer"]>$ilosc)
$this->artykuly["$numer"]-=$ilosc;
else
$this->artykuly["$numer"]=0;
}
// Metoda wyświetlająca zawartość koszyka
function wyswietl()
{
while(list
($k, $v) = each($this->artykuly)) if($v>0)
echo "Artykul nr $k - $v sztuk<br>";
}
}
// Przykład wykorzystania
$koszyk = new Koszyk;
$koszyk->dodaj('20', 2);
$koszyk->dodaj('12', 4);
$koszyk->dodaj('20', 5);
$koszyk->usun('12', 4);
$koszyk->dodaj('15', 8);
$koszyk->wyswietl();
?>
Skrypt działa i wyświetla na stronie :
Artykul nr 20 - 7 sztuk
Artykul nr 15 - 8 sztuk
Mianowicie:
if($this->artykuly["$numer"]>$ilosc)
Czemu: jeśli numer bedzie wiekszy od ilosci? Wlasnie tego nie moge zrozumiec. Dzieki za jakąkolwiek pomoc!