因此,我在創建Google產品Feed時收到了一條通知。 通知是 「下面的PHP通知已經發生今天的_網站4989次: PHP公告:未定義指數:0 /xxx/Status.php在線583」string'w32'== 0在php中評估爲true。是吧?
這是在代碼該類
public function inStockLocally($productcode)
{
if($this->_status[$productcode]['status'] == self::IN_STOCK) {
return $this->_status[$productcode]['in_stock_local'];
}
return false;
}
的函數得到一個$產品代碼= 0,但產品代碼是逸岸「W32」,所以關鍵是不存在的。
向上調用函數的堆棧我把它放進去,以便打破繁瑣的產品。
if ($productcode == 0) {
$test = 'breakhere';
}
使用NetBeans和螢火蟲,它打破了上線的時候$產品代碼= 'W32'
所以我的問題是,爲什麼 'W32' == 0評價爲真? 它也正在評估與其他類似的結構代碼,如'h94'。
任何幫助,將不勝感激,因爲部門中沒有人可以找出爲什麼會發生這種情況。
我想我沒有把足夠的信息在q中。兩件事情正在進行。 1.'w32'由於某種原因轉換爲數字= 0。 2.當productcode的結構爲'x ##'時,[0]被插入到數組中;
相關:http:// stackoverflow。com/questions/15813490/php-type-juggling-and-strict-greater-less-than-comparisons/15820372#15820372 –