$a = '1';
$b = '1';
// Method 1
if ($a == $b) { ... }
// Method 2
if ((int)$a == (int)$b) { ... }
哪种解决方案更好?我在这里考虑编程最佳实践,而不一定是性能。
答案 0 :(得分:2)
您只需使用Identical运算符。
修改:现在我看,andre matos已经断言哪种方式最好。
答案 1 :(得分:0)
当使用'=='时,PHP会兼顾周围的类型,无论如何都要投射它们。因此,在比较它们之前,我没有看到将它们转换为整数的任何优势。
如果您正在寻找更强大的解决方案,可以将它们转换为整数,然后使用Identical('==='),它匹配相等和类型,而不是Equal('==')。< / p>
答案 2 :(得分:0)
echo 1 == '1'; # true
echo 1 === '1'; # false
echo '1' === '1'; # true
echo '1' == '1'; # true