相关疑难解决方法(0)

为什么PHP认为0等于字符串?

我有以下代码:

$item['price'] = 0;
/*code to get item information goes in here*/
if($item['price'] == 'e') {
    $item['price'] = -1;
}
Run Code Online (Sandbox Code Playgroud)

它旨在将项目价格初始化为0,然后获取有关它的信息.如果价格被告知为'e',则意味着交换而不是卖出,其用负值表示,因为它将被存储在需要数值的数据库中.

还有可能将价格保留为0,因为该项目是奖金或因为价格将在稍后设定.

但是,总是在没有设置价格时,它使初始值为0,上面指出的if循环评估为真,价格设置为-1.也就是说,它认为0等于'e'.

怎么解释这个?

编辑:当价格提供为0(初始化后)时,行为不稳定:有时if评估为true,有时评估为false.

php string numbers evaluate

103
推荐指数
7
解决办法
3万
查看次数

标签 统计

evaluate ×1

numbers ×1

php ×1

string ×1