-1
A
回答
1
if (!$whatever)
只需要$ whatever的值并将其反转。
if ($whatever == FALSE)
评估是否$无论是等于FALSE
大多数人会说if ($whatever == FALSE)
是错误的,因为如果你想想另一个situtation if ($whatever == TRUE)
你可以看到,这是愚蠢的;你可以使用if($whatever)
。当你做if ($whatever == FALSE)
感觉他们是一个额外的毫无意义的步骤来评估比较,即使我们不需要。
他们真的是没有优势或劣势,以做它自己的方式,因为他们有同样的效果,但另一些人你觉得你傻写if ($whatever == FALSE)
。($whatever == FALSE
觉得不必要的复杂,Rube Goldberg。 if ($whatever == FALSE)
也可能执行起来较慢,但是可以忽略不计。
3
这是相同的,但大多数程序员喜欢写! $值,因为它更简洁。
3
由于PHP的类型杂耍,这些是相同的。
注意:这两个都会为“错误”值返回true。如:
0
null
array() // empty array
'' // blank string
FALSE
这些都转换为Boolean FALSE
,这== FALSE
(和!FALSE
是TRUE
)。
3
虽然这些问题的回答似乎是显而易见的,也许它可能是一个好主意ellaborate:
如果(布尔表达式)构建检查表达式是否等于真。
$whatever = false;
!$whatever evaluates to:
!($whatever) = true;
$whatever == false evaluates to:
($whatever == false) = true;
if(true == true);
的主要区别在于! (不是运算符)反转布尔值(false - > true),if结构检查这个反转是否等于true。
等于运算符评估$ whatever是否等于该值(不一定是布尔值),if结构检查相等表达式是否为真。
TJHeuvel是正确的,在这种情况下使用非运算符是首选,因为它更简洁。考虑使用非运算符的东西不是微不足道的,例如:
if((ProgramState == ProgramState.Ready) == false) vs
if (!(ProgramState == ProgramState.Ready)) vs
if (ProgramState != ProgramState.Ready)
后者更简洁(因此不等于运算符)。
相关问题
- 1. python if语句总是false
- 2. 即使if语句为false,变量= true
- 3. ASH if if语句中的if语句
- 4. if语句里添加if语句
- 5. 如果语句嵌套if if语句嵌套if语句,
- 6. 在if语句
- 7. “if” 语句
- 8. If语句中的If语句
- 9. 问题在if语句中if语句
- 10. if语句中的if语句
- 11. JQuery if语句
- 12. 在if语句
- 13. @ Html.ActionLink()if语句
- 14. JQuery if语句?
- 15. If else语句
- 16. 在IF语句
- 17. PHP if语句?
- 18. Switch语句VS If语句
- 19. 写if if elseif else语句
- 20. If/else语句
- 21. Array和if语句
- 22. JavaScript语法 - if语句
- 23. C++ if ... then语句
- 24. Cobol的if语句
- 25. JS matchMedia if语句
- 26. 输入if语句
- 27. if和else语句
- 28. assertTrue/assertFalse if语句
- 29. Ant if语句
- 30. HTML if语句