2013-03-20 5 views
10

У меня есть массив в PHPпроверки существует PHP массив

$permission = array("admin", "moderator", "guest" ); 

и у меня есть еще один массив

$userRoles = array("admin", "moderator"); 

я проверил с in_array, но он не работает с несколькими значениями.

Как я могу проверить atleast одно значение в $userRoles существует на $permission без зацикливания?

Заранее спасибо.

ответ

26

Применение array_intersect

count(array_intersect($permission, $userRoles)); 
+0

Это то, что мне нужно .. – Red

+2

Там не нужно называть количество(), если вы действительно не нуждаетесь в счете. Вы можете просто использовать 'if (array_intersect ($ permission, $ userRoles)) ...'. – orrd

12

Применение array_intersect

array_intersect - Вычислить пересечение массивов

массива array_intersect (array $array1 , array $array2 [, array $ ... ])

array_intersect() возвращает массив, содержащий все значения array1, которые присутствуют во всех аргументах. Обратите внимание, что ключи сохраняются.

Read

+1

+1 за предоставление описания ... – Red

+2

@Red спасибо приятелю ... я просто не хочу давать решение, но также хочу, чтобы вы научились. –

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