简单的IF/ELSEIF无法正确比较

Nik*_*des 0 php if-statement

我是PHP的新手,之前曾问过这个问题,但答案只是不会在我的场景中削减它.

我有这段代码:

  if ($node->field_available_for_payment[LANGUAGE_NONE][0]['value']==0){
  }  elseif($node->field_available_for_payment[LANGUAGE_NONE][0]['value']==1){
     $status="awaitingapproval";
  }  elseif (3===3){
     $status="paid";
  } elseif ($node->field_shipped[LANGUAGE_NONE][0]['value']==1){
     $status="shipped";
  } 

 var_dump($status);
Run Code Online (Sandbox Code Playgroud)

我得到了值等待批准(第一个if/elseif评估为 TRUE).

但是,由于3 === 3比较评估为TRUE,我不应该回来' 付费 ' 吗?

还有?

关于这类问题的所有其他S.0答案都提到'='运算符vs'==',这在我的代码中是正确的.

Joh*_*nde 5

一旦达到truthy语句,if/else等控制结构就会停止执行.由于第一个块为真,因此永远不会评估其他块.

如果第一个块应该失败,(即评估为false),那么第二个语句将始终求值为true,代码将被执行.