2012-01-08 56 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 
}