我在自定义页面中有一段文本 - front.tpl.php文件。我想将它包装在php if语句中,以便它只显示给我的两个站点角色。我有以下但它只显示“客户”角色,而我也想显示它为“顾问”角色。
<?php if (in_array('client', $GLOBALS['user']->roles)):?>
答案 0 :(得分: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()
函数应该是您正在寻找的。 p>