退出php中的嵌套if语句



我有这个代码:

if (condition){  //number1
    if (condition){  //number2
        action
    }
}
else{
    action
}

现在,如果嵌套的if语句(编号2)为false,是否可以将程序"重定向"到外部else语句,而不是像这样创建嵌套的else语句?

if (condition){  //number1
    if (condition){  //number2
        action
    }
    else {
        action;
    }
}
else {
    action
}

编辑:这是我的实际代码:

if ($s == 5){  //which award is won
    $id_raw = $wpdb->get_var("SELECT user_ID FROM ".$wpdb->prefix."award".$award." WHERE user_ID='".$p_uid."'"); //check to see if user has already won this award
    if($id_raw==''){ // if he/she didnt make entry saying they did
        $wpdb->query("INSERT INTO ".$wpdb->prefix."award1 (user_ID, isTold) VALUES(".$p_uid.", 'false') ") or die(mysql_error());
        wp_delete_post( $pid, true );
    }
}
else{ 
    cp_points('voteitup_user_up', $uid, get_option('cp_module_voteitup_user_up'), $pid);
    cp_points('voteitup_author_up', $p_uid, get_option('cp_module_voteitup_author_up'), serialize(array($pid,$uid)));
}   

只是猜测您在这里实际想做什么,因为您的id_raw = ''是一个无意义的条件,并且问题不清楚:

$insert = $id == 5 && !$wpdb->get_var("SELECT user_ID FROM ".$wpdb->prefix."award".$award." WHERE user_ID='".$p_uid."'");
if ($insert) {
    $wpdb->query("INSERT INTO ".$wpdb->prefix."award1 (user_ID, isTold) VALUES(".$p_uid.", 'false') ") or die(mysql_error());
    wp_delete_post( $pid, true );
} else {
    cp_points('voteitup_user_up', $uid, get_option('cp_module_voteitup_user_up'), $pid);
    cp_points('voteitup_author_up', $p_uid, get_option('cp_module_voteitup_author_up'), serialize(array($pid,$uid)));
}

希望这能给你一个想法。

为什么不合并前两个if语句?你需要在里面做其他事情吗?

if (condition1 && condition2) {
    action
}
else {
    action
}

最新更新