所以我理解这一点 - 比较/检查值.然而,我正在搞乱,并注意到我所有测试的结果是相同的 - 其中一些我被教导(a)不起作用或(b)不正确.
注意,我正在运行PHP7.好的,我的观点.如果单个值等于多个选项之一,我能够实现相同的结果检查...
这些工作......为什么?不是我学习的方式.
if ($status == 'in-progress' || 'in-review')
// and even
if ($status == ('in-progress' || 'in-review')) // kind of similar to ASP.NET Razor
Run Code Online (Sandbox Code Playgroud)
我通常会重复检查,就像这样:if($stat == 'a' || $stat == 'b')或者甚至in_array()是基本相同的东西.
是第一个例子,对吗?如果没有,为什么它有效?或者这是不赞成的事情而不是实践 - 甚至可能是新事物?
首先明确==表示优先级高于||.这意味着你的两个if语句如下所示:
if (($status == 'in-progress') || 'in-review')
if ($status == ('in-progress' || 'in-review'))
Run Code Online (Sandbox Code Playgroud)
现在为你的第一个if语句,不管有什么值$status和结果($status == 'in-progress')是什么,因为你有一个OR并且在它之后'in-review'你的if语句总是为真,因为非空字符串是一个真值.
对于你的第二个陈述,这个部分('in-progress' || 'in-review') 从字面上下来TRUE || TRUE,其评估为TRUE.现在$status只需要保持一个真值,if语句就是真的.
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |