2012-01-08 55 views
-2

我有这样的代码:在php中取出嵌套if语句?

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

现在,如果嵌套的if语句,2号,原来是假的是,如果可能的“重定向”程序外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))); 
} 
+0

'if(condition1 &&!condition2){that action; } else {other action; }'? '> = 5.3.0'支持'goto',但通常也不鼓励。 – 2012-01-08 05:08:03

+0

您可以通过更合理地组织条件来做到这一点。为此,我们需要知道实际情况。至少通过命名条件'condition1'和'condition2'以及'action1'等操作来清楚地说明这个例子。 – deceze 2012-01-08 05:08:47

+0

@ JaredFarrish-这将工作,但我有多个嵌套的if语句 – 2012-01-08 05:10:13

回答

3

只是猜测你真的想在这里做什么,因为你的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))); 
} 

希望这给你一个想法。

0

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

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