2017-03-06 69 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