PHP:我是否应该在===上使用==?

时间:2018-11-21 19:32:29

标签: php

我长期以来的理解是,基本上从不使用==,因为它不尊重类型,最终可能导致不良结果。

我刚刚阅读了有关一般比较的文章 How do the PHP equality (== double equals) and identity (=== triple equals) comparison operators differ?

但是不确定每个人是否和我有相同的看法。

这是我遇到的情况:

原始代码

$state = (intval($state) === TIMESHEET_STATE_UNLOCKED) ? 'unlock' : 'lock';

我们发现此行无效,因为常量TIMESHEET_STATE_UNLOCKED是布尔值,而$ state是字符串'0'或'1'。我们可以通过以下两种方法之一来解决此问题:

$state = (intval($state) === intval(TIMESHEET_STATE_UNLOCKED)) ? 'unlock' : 'lock';

OR

$state = ($state == intval(TIMESHEET_STATE_UNLOCKED)) ? 'unlock' : 'lock';

我的第一个倾向是前者,但我现在不确定。

0 个答案:

没有答案