我知道!=
“不相等”,但是当你有这个时,它意味着什么:
if(!$something)
我的第一个猜测是与异常有关,但环顾谷歌并没有返回任何内容。
这是做什么的?
答案 0 :(得分:10)
变量中的任何内容都是converted to a Boolean(变量本身当然保持不变),然后对结果布尔值进行NOT运算(!
)。转换将发生,因为!
是Logical Operator并且仅适用于布尔值。
转换为布尔值时,以下值被视为FALSE:
- 布尔值FALSE本身
- 整数0(零)
- 浮点数0.0(零)
- 空字符串,字符串“0”
- 包含零元素的数组
- 一个零成员变量的对象(仅限PHP 4)
- 特殊类型NULL(包括未设置的变量)
- 从空标签创建的SimpleXML对象
提示:如果预计该变量不是布尔值,您可能希望使用更具体的内容,例如isset($variable)
,empty($variable)
,$variable === ''
等。取决于你想要检查的内容。有关详细信息,请查阅手册。
答案 1 :(得分:6)
答案 2 :(得分:3)
if (!$something) {
相当于
if ($something == false) {
答案 3 :(得分:2)
检查$ something是否是假的。
答案 4 :(得分:1)
它只是意味着"如果没有"。
if (!false) {
this_happens_because_not_false_is_true();
}
答案 5 :(得分:1)
if(!$variable)
与if($variable == false)
相同,因此会检查$ variable是否为假
请查看@bažmegakapaanswer以查看哪些值被视为错误。
答案 6 :(得分:0)
检查$something
是否为假。
答案 7 :(得分:0)
它检查!$something
是否为假,或者你可以理解它(如果不是$ something)然后{//这将执行}并且如果$ something存在则那么这将不会进入if
答案 8 :(得分:0)
!$ variable是'Not'逻辑运算符 http://uk3.php.net/manual/en/language.operators.logical.php
它需要一个布尔值并翻转它。真实变为虚假,虚假变为真。
答案 9 :(得分:0)
它将变量转换为变量的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()
函数相反! :)
希望这有帮助! :)
答案 10 :(得分:0)
我曾经遇到以下代码
if (!$this->error) {
return false;
} else {
return true;
}
我以为“如果没有错误,为什么要错误?那是错误的!”因为我以为“!”运算符等于“ NOT”。 并交换收益。但是每次都出现错误条件代码。 然后学习。 “!”运算符将变量转换为布尔值。空变量转换为“假”。而“ if”语句中带有“!”运算符的运行方式是这样的:“如果此布尔值为false,则返回false,否则返回true。!:)
答案 11 :(得分:-2)
if($somethin == ""){
}
Or
if($somethin != ""){
}