我对PHP比较新。我的问题是,当我有括号时如何使用OR逻辑?我有以下代码行:
if (get_option('nl_heading_font') === "Alegreya Sans") {
//do something
}
我想添加:
if (get_option('nl_body_font') === "Alegreya Sans") {
//do something
}
我可以这样做:
if (get_option('nl_body_font' || 'nl_heading_font') === "Alegreya Sans") {
//do something
}
或者
if (get_option('nl_body_font') === "Alegreya Sans") || (get_option('nl_heading_font') === "Alegreya Sans") {
//do something
}
答案 0 :(得分:2)
根据您的问题,最好的选择就是这个。但是你需要为OR
/ ||
子句添加额外的括号,如下所示:
if ((get_option('nl_body_font') === "Alegreya Sans") || (get_option('nl_heading_font') === "Alegreya Sans")) {
//do something
}
if()
的构造需要它自己的括号。因此,如果要嵌套更多条件,则需要添加更多括号。但是看一下你的代码,你可以删除每个子句周围的额外括号。没关系:
if (get_option('nl_body_font') === "Alegreya Sans" || get_option('nl_heading_font') === "Alegreya Sans") {
//do something
}
但是所有这些都会说,看看你的逻辑更好的方法来处理这个问题就是使用一个数组。所以你的代码就像这样:
$nl_body_font_array = array('nl_body_font', 'nl_heading_font');
foreach ($nl_body_font_array as $nl_body_font_value) {
if (get_option($nl_body_font_value) === "Alegreya Sans")) {
//do something
}
}
这样,您只需创建一个包含任意数量值的数组,然后通过循环将它们推送到if
逻辑中。更易于阅读和阅读随着代码库的增长而调试。