2015-08-06 4 views
1

есть лучший способ сделать это? Более эффективный или элегантный в PHP? Как SQL IN?Есть ли более эффективный способ сделать это, если он более изящный?

Это код

if ($rol == 1 || $rol == 2 || $rol == 3 || $rol == 5 || $rol == 6 || $rol == 8) { 
+7

* Подобно SQL ** IN ** ?? * Вы очень близки. Google: 'PHP in_array' <- Здесь вы идете – Rizier123

+0

Вы можете использовать битовую маску. Это имеет смысл для некоторых свойств статуса/типа ролей. Подробнее [здесь] (http://stackoverflow.com/questions/11880360/how-to-implement-a-bitmask-in-php). – ficuscr

ответ

4

Поместите ваши номера в массиве затем использовать in_array PHP функции:

$array = array(1,2,3,4,5,6,8); 
if(in_array($rol, $array, true)) 
{ 
//Yaay we got a hit ! 
} 
+2

Вы должны использовать третий аргумент 'strict': http://3v4l.org/2sba0 – AbraCadaver

+0

Однако он не указал проверку типа в своем вопросе. Спасибо за головы! –

+0

Не имеет значения, проверьте ссылку. – AbraCadaver

Смежные вопросы