[我现在正在学习PHP并使用这个波兰语网站:] [1] http://phpkurs.pl/ponowne-uzycie-kodu/
我坚持这个例子:
<?php
class Koszyk
{
var $artykuly;
function dodaj($numer, $ilosc)
{
$this->artykuly["$numer"] += $ilosc;
}
function usun($numer, $ilosc)
{
if($this->artykuly["$numer"]>$ilosc)
$this->artykuly["$numer"]-=$ilosc;
else
$this->artykuly["$numer"]=0;
}
function wyswietl()
{
while(list($k, $v) = each($this->artykuly))
if($v>0)
echo "Artykul nr $k - $v sztuk<br>";
}
}
$koszyk = new Koszyk;
$koszyk->dodaj('20', 2);
$koszyk->dodaj('12', 4);
$koszyk->dodaj('20', 5);
$koszyk->usun('12', 4);
$koszyk->wyswietl();
?>
我知道var不是必需的,因为它在PHP 4中使用,但代码不起作用,我收到错误。我无法弄清楚问题是什么。我认为这很简单,但它是一个例子,所以它应该有效。
答案 0 :(得分:0)
在您的代码中进行 它对我有用
var $artykuly = array();
function dodaj($numer, $ilosc)
{
if(!isset($this->artykuly[$numer])){
$this->artykuly[$numer]="";
}
$this->artykuly[$numer] += $ilosc;
}
仅在声明可以使用
后才声明$this->artykuly[$numer]
值
$this->artykuly[$numer] += $ilosc;
声明