我有一个包含多个条件的 if 语句,但我似乎无法正确执行
if(((ISSET($_SESSION['status'])) && ($_SESSION['username']=="qqqqq")) ||
((ISSET($_SESSION['status'])) && ($_SESSION['company']=="wwwwww")) ||
((ISSET($_SESSION['status'])) && ($_SESSION['company']=="ffffffff")) ||
((ISSET($_SESSION['status'])) && ($_SESSION['company']=="ggggggg")) ||
((ISSET($_SESSION['status'])) && ($_SESSION['company']=="hhhhhhh")) ||
($_SESSION['LOGINTYPE']=="ADMIN")) {
如果设置了状态以及这些公司名称之一,则它应该返回 true 否则,如果登录类型是 admin,则无论公司或状态如何,它也应该返回 true
那这个呢 :
if (
(isset($_SESSION['status']) && $_SESSION['username']=="qqqqq")
|| (isset($_SESSION['status']) && in_array($_SESSION['company'], array('wwwwww', 'ffffffff', 'ggggggg', 'hhhhhhh')))
|| $_SESSION['LOGINTYPE']=="ADMIN"
)
重写条件以使其更易于阅读可能会有所帮助:
- One possible case per line :
- 状态设置和用户名 OK
- 状态设置和公司正常
- admin
- 使用 in_array 而不是对公司进行多次测试——我认为这样更容易理解
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)