Php if语句包含多个条件和方括号

Php if语句包含多个条件和方括号,php,wordpress,Php,Wordpress,我对php相当陌生。我想知道如何做下面的陈述来检查后元等于C1或C2 if ( $user_ID && $user_ID == $convert->post_author && get_post_meta( $project->ID,'et_payment_package', true) == 'C1') 这似乎不起作用 if ( ($user_ID && $user_ID == $convert->post_author &a

我对php相当陌生。我想知道如何做下面的陈述来检查后元等于C1或C2

if ( $user_ID && $user_ID == $convert->post_author && get_post_meta( $project->ID,'et_payment_package', true) == 'C1')
这似乎不起作用

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') )

执行检查的最简单、最干净的方法是拆分if语句。您不需要在一个if语句中执行整个检查:

// 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
    }
}

删除第一个$user_ID我不确定删除第一个$user_ID会做什么。。。我已经检查了语法,应该可以正常工作。检查我的答案below@giollianosulit它是多余的;由于用户$user_ID必须等于某个var,检查其“truthy”会增加nothing@nogad-这是有道理的,那么我想有一个!空检查是一个更好的选择,这里$user\u ID==$convert->post\u author也会处理这个问题