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