当前位置:首页 > 技术分享 > 详情
sousuo
sousuo

smarty多个并列语句,这样写才优雅

上传时间:2020-12-18            浏览次数:319

看到一个臭长臭长的smarty语句,是if^else的,但是因为他的参数很多于是变成了:

{if $cur='index'|$cur='order'|$cur='user'|$cur='task'|$cur='daily'|$cur='seo'|$cur='account'|$cur='notice'|$cur='log'|$cur='database'| }class="on"{/if}

意思是$cur满足任何一个条件都可以成立。但比较长,于是改成下边的代码:

{if in_array($cur,explode('|','index|order|user|task|daily|seo|account|notice|log|database'))}class="on"{/if}

这样看起来短,而且还把各个数值鞋到了一起,方便进行检查。

这里再拓展几种写法:

一种是:某几参数与数组对比,只要有一个存在于数组中,就成立:

{if array_intersect(explode('|','参数一|参数二|参数三|参数四'),$member_auth_cur_list)}

另外一种是:某一个参数,在数组中的判断:

{if in_array('参数',$member_auth_list)}

这样就不需要写繁杂的if^else语句了,是不是轻松优雅多了?

发表评论
请遵守网络文明公约,理性发言
访客头像

还没有人来评论,快来抢个沙发吧!

0371-56789390
公司地址

郑州市花园路东风路向西300路南弘熹台22层

联系我们