我有一个for循环,但如果满足条件,我想跳过一些循环。
这很好用,如果$option_nm
不是"字体",它将继续循环。
if($option_nm != "Fonts"){
continue;
}
然而,这不起作用,并且跳过所有内容。
if($option_nm != "Fonts" || $option_nm != "Style" || $option_nm != "Thread" || $option_nm != "Textbox"){
continue;
}
我还尝试将||
更改为Or
,这做了同样的事情。
我做错了什么?
您混淆了OR
语句。
你的代码应该是这样的:
if($option_nm != "Fonts" && $option_nm != "Style" && $option_nm != "Thread" && $option_nm != "Textbox"){
continue;
}
您的if条件总是返回true,循环继续进行,因为您的if条件使用or
或||
。试试这个。
if($option_nm != "Fonts" && $option_nm != "Style" && $option_nm != "Thread" && $option_nm != "Textbox"){
continue;
}
尽管你的帖子已经发布一年多了,但我会给出另一个解决方案。
您可以使用php中的in_array
功能,并在语句周围执行否定的if语句。
$elements = array("Fonts", "Style", "Thread", "Textbox")
if (!in_array($option_nm, $elements)) { continue;}
这使得将来的维护变得简单且易于阅读。