Ali*_*xel 1 php string comparison strict string-comparison
我知道,例如,使用:
if (in_array('...'), array('.', '..', '...') === true)
Run Code Online (Sandbox Code Playgroud)
过度:
if (in_array('...'), array('.', '..', '...') == true)
Run Code Online (Sandbox Code Playgroud)
可以提高性能并避免一些常见错误(例如1 == true),但是我想知道是否有理由对字符串使用严格的比较,例如:
if ('...' === '...')
Run Code Online (Sandbox Code Playgroud)
似乎做的完全相同:
if ('...' == '...')
Run Code Online (Sandbox Code Playgroud)
如果有人可以为这个主题带来一些启示,我很感激.
如果您知道这两个值的保证是字符串,然后==
和===
是相同的,因为两者之间的唯一区别是,===
检查是否该类型是一样的,不只是有效的值.
但是,在某些情况下,您不确定某个值是否为字符串 - 例如,使用$ _GET和$ _POST变量之类的值.考虑以下:
$_GET['foo'] == ""
Run Code Online (Sandbox Code Playgroud)
上述表达式的值为true,如果foo
是通过在一个空字符串,但如果它也将评估为真没有价值是为传递foo
在所有.相反,
$_GET['foo'] === ""
Run Code Online (Sandbox Code Playgroud)
如果显式传入空字符串,则只会求值为true - 否则值$_GET['foo']
可能等于空字符串,但类型不会,因为它实际上是该索引的空值,而不是字符串.
归档时间: |
|
查看次数: |
2130 次 |
最近记录: |