PHP路径中未定义的索引


Undefined index within a PHP path

OpenCart扩展开发新手。我目前正在开发一个99Bill(中文支付方式)支付扩展。

目前,我已经在MVC目录中添加了新文件(因此,我在admin、catalog等下添加了文件,我将扩展名命名为bill99,因为PHP不允许名称以数字开头)。

我试图测试我的扩展,但在我的OpenCart主页上,我得到了以下错误:

注意:未定义的索引:第20行/averland/opencart/upload/cacatalog/model/cacatalog/product.php中的mobiledescription
注意:第20行将/averland/opencart/upload/cacatalog/model/catalog/product.php中的未定义索引:第二十行/averland/opencart/upload/catalog/model/controlog/product.php中的mobile_description
通知:未定义索引在第20行的/warrant/opencart/upload/catalog/model/catalog/product.php中的mobiledescription
注意:未定义的索引:在第20行将的/warrat/opencart/upload/cacatalog/model/cocatalog/product.php中的mobile_description
通知:未定义索引:在第20行

我不太确定我是如何触发它的,因为我以前从未编辑或触摸过product.php文件。即使我禁用/卸载99Bill扩展,也会出现错误。

当我浏览到product.php时,第20行简单地说:

'description'      => $query->row['mobile_description']

我觉得我的错误与product.php文件无关,因为我以前从未接触过它,可能与我的99Bill扩展名有关。我可能没有初始化某个类。

对于以前犯过这个错误的人,你能帮我理解吗?

好吧:第20行访问数组索引,不是吗?假设索引不存在,那么你得到的错误消息难道没有意义吗?尝试转储$query->row的内容,或者将您现在拥有的内容替换为:

'description'      => isset($query->row['mobile_description']) ? $query->row['mobile_description'] : null,

至于为什么你会收到这个通知:这个答案解释了这一点,并包含了一些片段,可以帮助你重构你的代码