2013-03-20 13 views
10

Mam tablicę w PHPwyboru istnieje wiele wartości php tablicę

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

i mam kolejną tablicę

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

Sprawdziłem in_array ale to nie działa z wieloma wartościami.

Jak sprawdzić co najmniej jedną wartość w $userRoles istnieje na $permission bez pętli?

Z góry dziękuję.

Odpowiedz

26

Zastosowanie array_intersect

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

To jest to, co potrzebne .. – Red

+2

tam nie trzeba zadzwonić count(), chyba że naprawdę trzeba się liczyć. Możesz po prostu użyć 'if (array_intersect ($ permission, $ userRoles)) ...'. – orrd

12

Zastosowanie array_intersect

array_intersect - Oblicza przecięcie tablic

tablicy array_intersect (array $array1 , array $array2 [, array $ ... ])

array_intersect() zwraca tablicę zawierającą wszystkie wartości tablicy 1, które występują we wszystkich argumentach. Pamiętaj, że klucze są zachowane.

Read

+1

+1 za podanie opisu ... – Red

+2

@Red dzięki kumplowi ... po prostu nie chcę dawać rozwiązania, ale także chcę cię nauczyć. –

Powiązane problemy