【发布时间】:2017-03-06 12:32:27
【问题描述】:
我在自定义页面--front.tpl.php 文件中有一段文本。我想将它包装在一个 php if 语句中,以便它只显示给我的两个站点角色。我有以下内容,但它只显示“客户”角色,而我也想显示“顾问”角色。
<?php if (in_array('client', $GLOBALS['user']->roles)):?>
客户资料
【问题讨论】:
我在自定义页面--front.tpl.php 文件中有一段文本。我想将它包装在一个 php if 语句中,以便它只显示给我的两个站点角色。我有以下内容,但它只显示“客户”角色,而我也想显示“顾问”角色。
<?php if (in_array('client', $GLOBALS['user']->roles)):?>
【问题讨论】:
in_array 函数应该接受多个搜索参数,如果它们作为数组传递。所以应该是这样的:
<?php if (in_array(array('client','consultants'), $GLOBALS['user']->roles)):?>
但如果这不起作用(并且应该),您可以随时使用 or 声明:
<?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>
【讨论】: