警告:key()期望参数1为数组,给定为null

时间:2014-05-29 07:09:37

标签: php

我已经为我的opencart写了一个小的运费扩展它工作正常但是当我没有为地址设置地区/州时我得到以下错误

  

警告:key()期望参数1为数组,在给定的位置为null    /home/51/html/k/catalog/controller/fastshipping/shipping.php on    289

但是一旦设置了字段,它就会很好用。由于我的表格是jquery,因此运输表格不会加载该警告。

下面是代码

if (isset($defaultshippingmethod['quote'][key($defaultshippingmethod['quote'])]['code'])) 
{
    $this->data['code'] = $defaultshippingmethod['quote'][key($defaultshippingmethod['quote'])]['code'];
} 
else {
    $this->data['code'] = '';
}

有人可以告诉我怎么解决这个问题? (不只是禁用php警告)

1 个答案:

答案 0 :(得分:1)

if替换为:

if (isset($defaultshippingmethod['quote']) && 
 isset($defaultshippingmethod['quote'][key($defaultshippingmethod['quote'])]['code']))

错误是因为数组中没有条目

$defaultshippingmethod['quote']