check for multiple roles
Look at PHP's array_diff() function:

http://php.net/manual/en/function.array-diff.php

This will compare an array of the roles you're checking for against the array of the user's roles, and return an array containing the leftovers.

&lt;?php
$roles_to_check_for = array('administrator', 'operator');
$users_roles = array_values($user-&gt;roles);

if (array_diff($roles_to_check_for, $users_roles)) {
  // User does not have all of the $roles_to_check_for.
}
else {
  // User has all of the $roles_to_check_for.
}