2017-10-30 23 views
0

私はかなり新しいPHPです。私は、以下の文はこれがif文複数の条件と括弧

if (($user_ID && $user_ID == $convert->post_author && get_post_meta($project->ID,'et_payment_package', true) == 'C1') || ($user_ID && $user_ID == $convert->post_author && get_post_meta($project->ID,'et_payment_package', true) == 'C2')) 
+0

は最初の '$ user_ID' – nogad

+0

を削除し、私がやろうとしているもの最初の$ user_IDはを削除わからないんだけど...私はしました構文をチェックし、うまくいくはずです。以下の私の答えを確認してください –

+0

@giollianosulitは余分です。ユーザ$ user_IDはvarと等しい必要がありますので、 'truthy'をチェックすると何も追加されません。 – nogad

答えて

2

チェックを行う最も簡単かつクリーンな方法がある動作していないよう

if ($user_ID && $user_ID == $convert->post_author && get_post_meta($project->ID,'et_payment_package', true) == 'C1') 

ポストメタ等しいC1またはC2をチェックするようにする方法を思っていましたif文を分割します。文の場合は、1で全体のチェックを行う必要はありません。

// Check if $user_ID exists and it equals $convert->post author 
if (!empty($user_ID) && $user_ID == $convert->post_author) { 
    if (get_post_meta($project->ID, 'et_payment_package', true) == 'C1') { 
     // run logic for C1 
    } 
    elseif (get_post_meta($project->ID, 'et_payment_package', true) == 'C2') { 
     // run logic for C2 
    } 
} 
関連する問題