为什么 PHP 认为 0 等于字符串?
我有以下代码:
$item['price'] = 0;
/* Code to get item information goes in here */
if($item['price'] == 'e') {
$item['price'] = -1;
}
它旨在将项目价格初始化为 0,然后获取有关它的信息。如果价格被告知为“e”,则表示交易所而不是卖出,卖出作为负数存储在数据库中。
还有可能将价格保留为0,因为该物品是奖金,或者因为价格将在稍后设置。
但是,每当未设置价格(使其初始值为 0)时,上面指示的循环将计算为 true,并且价格设置为 -1。也就是说,它认为 0 等于“e”。if
这怎么能解释呢?
当价格显示为 0(初始化后)时,行为不稳定:有时 if 的计算结果为 true,有时它评估为 false。