我对打破和继续退出循环等感到有点困惑。我有 2 个 SQL 查询将用户权限与用户的实际权限与新的权限相匹配。但是,如果某些新权限与用户拥有的权限匹配,我想跳过 SQL 插入并继续下一个:
public static function insertPriveleges($user_id,$priveleges)
{
$ex = explode(",",$priveleges); // separated by commas
if(count($ex)>0)
{
$x = false;
foreach($ex as $i => $priv)
{
$check_user = mysql_query("SELECT * FROM users_access_codes WHERE user_id='$user_id'") or die(mysql_error()); // get user's current priveleges
while($check_data = mysql_fetch_array($check_user))
{
if($check_data['access_code']!=$priv)
{
//if it doesn't match, insert
$sql = "INSERT INTO users_access_codes (uaID,user_id,access_code) VALUES (NULL,'".$user_id."','$priv')";
}
}
}
}
}
我几乎从来没有遇到需要在循环中匹配两个以上的东西的情况。我需要确保我不会为该用户获得双重特权。我知道在内循环的某处必须有一个“继续”语句,但不确定在哪里。