我有以下代码:
$item['price'] = 0;
/*code to get item information goes in here*/
if($item['price'] == 'e') {
    $item['price'] = -1;
}
它旨在将项目价格初始化为0,然后获取有关它的信息.如果价格被告知为'e',则意味着交换而不是卖出,其用负值表示,因为它将被存储在需要数值的数据库中.
还有可能将价格保留为0,因为该项目是奖金或因为价格将在稍后设定.
但是,总是在没有设置价格时,它使初始值为0,上面指出的if循环评估为真,价格设置为-1.也就是说,它认为0等于'e'.
怎么解释这个?
编辑:当价格提供为0(初始化后)时,行为不稳定:有时if评估为true,有时评估为false.