当前位置: 首页 > 知识库问答 >
问题:

未定义的偏移量:第55行为1

狄望
2023-03-14

我有题目上说的问题。我知道这个问题是什么意思,但我不知道如何解决我的具体情况,所以我需要你的帮助。

我有item.php和cart.php。在item.php构造函数中是:

public function __construct($id, $price, $name) {
    $this->id=$id;
    $this->price=$price;
    $this->name=$name;
}

而在cart.php构造函数中是:

public function __construct($items = array()) {
    if(empty($items)){
        $this->items=array();
                    $this->quantities=array();
    } else {
        foreach($items as $key => $value){
            $this->items[]=$value;
                            $this->quantities[$value]++;
                    }
    }

}

和函数也是:

public function addItem(Item $item, $quantity = 1) {
        for($i=0; $i<$quantity; $i++){
            $this->items[]=$item;
            $this->quantities[$item->getId()]++;
        }

}

而主代码是:

$cart = new Cart();
$book = new Item(1, 59.99, 'PHP Cookbook');
$cart->addItem($book, 10);
foreach($cart->getItems() as $item) {
echo $item->getPrice(), " ", $item->getName(), " ", $cart->getQuantity($item), "<br>";
}

粗体线为line:

$this->quantities[$item->getId()]++; 

在方法AddItem中。

在我看来,就像我说:$book=new Item(1,59.99,'php cookbook');php应该找到$id1,但他没有找到。最奇怪的是,结果正正确地显示在我的屏幕上。

共有1个答案

冀景明
2023-03-14

您从未设置数量(1)。

替换您的线路

$this->quantities[$item->getId()]++;

由:

if(isset($this->quantities[$item->getId()]))
    $this->quantities($item->getId()]++;
else
    $this->quantities($item->getId()] = 1;
 类似资料:
  • 我使用雄辩,以获得我的产品在数据库中的价格。这是我的代码: 我肯定会得到一个价格与此查询。但是当我执行我的代码时,我得到以下错误: PHP找不到$this- 我得到: 我不知道为什么我不能进入这个- 我使用Laravel 4.2。

  • 问题内容: 我在PHP中收到以下错误 注意未定义的偏移量1:在C:\ wamp \ www \ includes \ imdbgrabber.php第36行中 这是导致它的PHP代码: 错误是什么意思? 问题答案: 如果找不到匹配项,则为空数组。因此,您应该在访问之前检查是否找到了匹配项,例如:

  • 我花了一整天都在找修好它。当我尝试调试时,会出现这样的消息: Blockquote消息:未定义的偏移量:9文件名:views/view_viewnews.php行号:42 我会犯错的地方?有人帮忙吗?谢谢!

  • 问题内容: 我正在运行PHP脚本,并继续收到如下错误: 注意:第10行上C:\ wamp \ www \ mypath \ index.php中的未定义变量:my_variable_name 注意:未定义的索引:第11行的my_index C:\ wamp \ www \ mypath \ index.php 第10和11行看起来像这样: 这些错误消息是什么意思? 为什么它们突然出现?我曾经使用此

  • 我正在运行一个PHP脚本,并继续收到如下错误: 注意:第10行C:\wamp\www\myPath\index.php中未定义的变量:my_variable_name 注意:第11行未定义索引:my_index C:\wamp\www\myPath\index.php 第10行和第11行如下所示: 这些错误信息的含义是什么? 为什么他们突然出现?我曾经使用这个脚本多年,我从来没有遇到过任何问题。

  • 问题内容: 我正在运行一个 PHP 脚本并继续收到如下错误: 注意:未定义变量:第 10 行 C:\wamp\www\mypath\index.php 中的 my_variable_name 注意:未定义索引:第 11 行的 my_index C:\wamp\www\mypath\index.php 第 10 行和第 11 行如下所示: 这些错误消息的含义是什么? 为什么它们会突然出现?我曾经使用