因此,在创建谷歌产品提要时,我在我的 php 中收到了通知。通知是“以下php通知今天在_站点上发生了4989次:PHP通知:未定义索引:0 in /xxx/Status.php on line 583”
这是该类中的代码
public function inStockLocally($productcode)
{
if($this->_status[$productcode]['status'] == self::IN_STOCK) {
return $this->_status[$productcode]['in_stock_local'];
}
return false;
}
该函数得到 $productcode = 0,但产品代码实际上是“w32”,因此密钥不存在。
在调用函数的堆栈上,我把它放进去,以便打破麻烦的产品。
if ($productcode == 0) {
$test = 'breakhere';
}
使用 netbeans 和 firebug,它在 $productcode = 'w32' 时断线
所以我的问题是为什么 'w32' == 0 评估为真?它还与其他类似的结构代码(如“h94”)一起评估为真。
任何帮助将不胜感激,因为部门中没有人能弄清楚为什么会发生这种情况。
我想我没有在q中输入足够的信息。发生了两件事。1. 'w32' 由于某种原因转换为数字 = 0。2. 当产品代码具有结构“x##”时,[0] 作为我的键插入到数组中;