PHP导航页面判断优化:如何用数组替代长串OR条件简化维护
用数组简化导航菜单的页面判断逻辑
当然可以!这绝对是个更优雅、更易维护的解决方案,完美解决你后续新增页面时要不断修改if条件的麻烦。
具体实现步骤
- 定义目标页面数组:把所有需要匹配的页面统一存到一个数组里,后续新增页面只需要往数组里加元素就行,不用动判断逻辑的代码。
- 使用
in_array()函数判断:PHP的in_array()函数可以直接检查某个值是否存在于数组中,替代原来冗长的or判断链。
代码示例
原来的代码:
if ($thisPage=="page one" or $thisPage=="page two" or $thisPage=="page three") { // 导航菜单要显示的内容 }
优化后的代码:
// 先定义目标页面数组,新增页面直接在这里追加元素即可 $targetPages = ["page one", "page two", "page three"]; // 用in_array判断当前页面是否在目标数组里 if (in_array($thisPage, $targetPages)) { // 导航菜单要显示的内容 }
额外小技巧
如果需要不区分大小写的匹配(比如担心页面名称大小写不一致导致判断失败),可以稍微改造一下:
$targetPages = ["page one", "page two", "page three"]; // 把当前页面和数组元素统一转成小写后再判断 if (in_array(strtolower($thisPage), array_map('strtolower', $targetPages))) { // 导航菜单要显示的内容 }
这样一来,不管后续要加多少页面,你只需要在$targetPages数组里新增元素就好,代码逻辑始终简洁清晰,也降低了出错的概率。
内容的提问来源于stack exchange,提问作者keneso
相关产品推荐
相关产品推荐

