2017-03-06 66 views
0

我在自定义页面 - front.tpl.php文件中有一段文本。我想将它包装在一个php if语句中,以便它仅显示给我的两个网站角色。我有下面的内容,但它只显示“客户”角色,而我也想显示为“顾问”角色。如果它们作为数组传递显示具有特定角色的用户的文本

<?php if (in_array('client', $GLOBALS['user']->roles)):?> 

客户简介

回答

0

in_array函数应该接受多个搜索参数。因此,它应该是这样的:

<?php if (in_array(array('client','consultants'), $GLOBALS['user']->roles)):?> 

但如果这不工作(应该),你可以随时使用或声明:

<?php if (in_array('client', $GLOBALS['user']->roles) || in_array('consultants', $GLOBALS['user']->roles)):?> 

更新:似乎in_array()不能接受第一个(针)参数的数组。看看这个线程堆栈溢出:

Checking to see if one array's elements are in another array in PHP

所以array_intersect()功能应该是你在找什么。

+0

嗨米兰感谢您的回复。不幸的是,第一种方案没有奏效。我尝试了第二个,它似乎很棘手。如果我需要为大范围的用户角色进行文本显示,它可能会变得相当长。 – Salmon

+0

更新了我的答案。 – MilanG