我知道!=
"不相等",但是当你有这个时,这意味着什么:
if(!$something)
我的第一个猜测与异常有关,但环顾谷歌并没有返回任何内容。
那么这是做什么的呢?
变量中的任何内容都被转换为布尔值(变量本身当然保持不变),然后对生成的布尔值执行 NOT 操作(!
)。转换会发生,因为!
是逻辑运算符,并且仅适用于布尔值。
转换为布尔值时,以下值被视为 FALSE:
- 布尔值 FALSE 本身
- 整数 0(零)
- 浮点数 0.0(零)
- 空字符串和字符串"0"
- 包含零元素的数组
- 成员变量为零的对象(仅限 PHP 4)
- 特殊类型 NULL(包括未设置的变量)
- 从空标记创建的简单 XML 对象
提示:如果变量不是布尔值,则可能需要使用更具体的内容,例如isset($variable)
、empty($variable)
、$variable === ''
等,具体取决于要检查的内容。有关详细信息,请查看手册。
它与:
if((bool)$something != true) {
请参阅:http://www.php.net/manual/en/control-structures.if.php
if (!$something) {
是
if ($something == false) {
检查$something是否是假的。
它只是意味着"如果不是某事"。
if (!false) {
this_happens_because_not_false_is_true();
}
它将变量转换为变量的等效boolean
。这可以在少数情况下给出:
<?php
// Case 1: $variable is boolean
$variable = true;
$variable = !$variable; // Changes to false;
var_dump($variable); // bool(false)
// Case 2a: $variable is a positive integer
$variable = 5;
$variable = !$variable; // Changes to false;
var_dump($variable); // bool(false)
// Case 2b: $variable is an integer other than 0
$variable = 0;
$variable = !$variable; // Changes to false;
var_dump($variable); // bool(true)
// Case 2c: $variable is a negative integer
$variable = -5;
$variable = !$variable; // Changes to false;
var_dump($variable); // bool(false)
// Case 3a: $variable is string
$variable = "Hello";
$variable = !$variable; // Changes to false;
var_dump($variable); // bool(false)
// Case 3b: $variable is empty string
$variable = "";
$variable = !$variable; // Changes to false;
var_dump($variable); // bool(true)
?>
简而言之,它与empty()
功能相反! :)
希望这有帮助! :)
if(!$variable)
与 if($variable == false)
相同,因此它会检查$variable是否为 false
查看@bažmegakapa答案,看看哪些值被认为是错误的。
它会检查!$something
是否为假,或者您可以像(如果不是$something)那样理解它,那么{//这将执行},如果存在$something则不会输入if
!$variable 是 'Not' 逻辑运算符http://uk3.php.net/manual/en/language.operators.logical.php
它采用布尔值并翻转它。真变成假,假变成真。
检查$something
是否为假。
我曾经遇到过以下代码
if (!$this->error) {
return false;
} else {
return true;
}
我想"如果没有错误,为什么是假的?这是不对的!"因为我认为"!"运算符等于"NOT"。和互换回报。但每次错误条件代码都会运行。然后学会了。"!" 运算符将变量转换为布尔值。空变量转换为"false"。带有 "!" 运算符的 "if" 语句运行的方式是这样的 "如果这个布尔值为 false,则返回 false,否则返回 true。!:)
if($somethin == ""){
}
Or
if($somethin != ""){
}