数量是否有限制;或;我可以在PHP中输入的条件?

数量是否有限制;或;我可以在PHP中输入的条件?,php,wordpress,if-statement,operators,Php,Wordpress,If Statement,Operators,我在WordPress中有一段代码,在“elseif”语句中有“OR”条件。代码如下: <?php } elseif($index == 1 || $index == 8 || $index == 9 || $index == 16 || $index == 17 || $index == 20 || $index == 21) { ?> 因此,直到$index==20 | |$index==21 在elseif语句中使用|的次数有限制吗?没有限制。只需确保其可读性。请查

我在WordPress中有一段代码,在“elseif”语句中有“OR”条件。代码如下:

   <?php } elseif($index == 1 || $index == 8 || $index == 9 || $index == 16 || $index == 17 || $index == 20 || $index == 21) { ?>

因此,直到
$index==20 | |$index==21


在elseif语句中使用
|
的次数有限制吗?

没有限制。只需确保其可读性。

请查看
in_array()
函数。这样,代码通常更紧凑,同时更易于阅读和理解:

if (in_array($id, [1, 8, 9, 16, 17]))

不,if子句中没有限制或语句。请记住,获得的ORs越多,可读性就会降低。总有更好的解决方案,而不仅仅是添加越来越多的ORs

对于上面的示例,更好的解决方案是检查$index是否位于一个可能值数组中,如so:

而不是

if ($index == 1 || $index == 2 || $index == 3) { /* ... */ }
你能行

if (in_array($index, [1, 2, 3])) { /* ... */ }

没有限制,除了实用性。没有限制,但更容易做到这一点,比如如果(在数组中($index,[1,8,9,…]),谢谢@MarkBaker,我要尝试那种方法谢谢我这么做了,但是16后任何索引的怪异怪癖都不起作用still@MikeL5799这肯定是另一个问题。绝对没有这样的限制。请查看您的http服务器错误日志文件。如果出现php错误,您可以从中了解实际问题。如果你的代码没有达到你所期望的效果,那么很可能你的代码中有逻辑错误。非常感谢我这么做了,但是16之后的任何索引的奇怪怪癖仍然不起作用。你这是什么意思?它应该适用于每种类型的值。索引一直被选择到
elseif(在数组($index,[17,21,25])
对我来说仍然没有意义。在你上面的代码中甚至没有25个,但是有17个和21个。我不能简单地告诉你为什么它不工作。在if之前转储$index。if上面的代码中一定有错误,因为我知道这必须起作用。