tfo*_*ont 4 php coding-style operators logical-operators
有什么区别,特别是在 PHP 方面?从逻辑上讲,它们是相同的(或者看起来是相同的),但是其中一个比另一个有什么优势吗?包括微基准测试(如果有任何差异)。
示例代码:
$a = fc();
// Example 1
if (!$a) echo "Ex. 1";
// Example 2
if (false === $a) echo "Ex. 2";
// Example 3
if (true !== $a) echo "Ex. 3";
function fc()
{
    return false;
}
只需将结果值(布尔值或非布尔值)从 true 反转为 false 或将 false 反转为 true
例子:
if (!file_exists('/path/file.jpg')) {
    // if file NOT exists
}
比较的值必须是布尔值false 或 true。
例子:
$name = 'Patrick Maciel';
if ($name === true) {
  // not is, because "Patrick Maciel" is a String
}
但如果你这样做
if ($name == true) {
  // it is! Because $name is not null 
  // and the value is not 'false': $name = false;
}
在这种情况下,该运算符仅用于检查:
$connection = $this->database_connection_up();
if ($connection === true) {
  echo 'connected to database';
} else {
  echo 'error in connection';
}
$valid_credit_card = $this->validate_credit_card($information);
if ($valid_credit_card === false) {
  echo 'Your credit card information is invalid'
}
这是同一件事。仅与 相反===,即:该值不能是 a boolean true or false。
对不起我的英语不好。