うまくいっていると思いますが、あなたはそれを間違って解釈しています。あなたの値は8です。したがって、あなたの表現は実際には次のとおりです。
if (8 !== 1 || 8 !== 8) {
// ...
}
true8 は1と等しくないため、最初の式はYou cannot do that!です。
AND式 ( ) が必要&&なのは、値が 1 AND 8 以外の場合にエラー メッセージを表示するためです。
ここで何が起こっているのかよくわかっていないようですので、さらに説明させてください。
1 から 8 までのすべての数について個別に考え$o['statuss'] !== 1てみましょう。$o['statuss'] !== 8
1 !== 1=> false, 1 !== 8=> true:1 !== 8メッセージが表示されるため。
2 !== 1=> true, 2 !== 8=> true:2 !== 1メッセージが表示されるため。
3 !== 1=> true, 3 !== 8=> true:3 !== 1メッセージが表示されるため。
4 !== 1=> true, 4 !== 8=> true:4 !== 1メッセージが表示されるため。
5 !== 1=> true, 5 !== 8=> true:5 !== 1メッセージが表示されるため。
6 !== 1=> true, 6 !== 8=> true:6 !== 1メッセージが表示されるため。
7 !== 1=> true, 7 !== 8=> true:7 !== 1メッセージが表示されるため。
8 !== 1=> true, 8 !== 8=> false:8 !== 1メッセージが表示されるため。
おわかりのように、実際にブランチに入ることはありませんelse(または、少なくともifブランチをスキップします)。
ここで、 AND演算子を使用して同じことを行いましょう。
1 !== 1=> false, 1 !== 8=> true: すべての条件が有効ではないため、メッセージは表示されません。true
2 !== 1=> true, 2 !== 8=> true: どちらも であるため、メッセージが表示されますtrue。
3 !== 1=> true, 3 !== 8=> true: どちらも であるため、メッセージが表示されますtrue。
4 !== 1=> true, 4 !== 8=> true: どちらも であるため、メッセージが表示されますtrue。
5 !== 1=> true, 5 !== 8=> true: どちらも であるため、メッセージが表示されますtrue。
6 !== 1=> true, 6 !== 8=> true: どちらも であるため、メッセージが表示されますtrue。
7 !== 1=> true, 7 !== 8=> true: どちらも であるため、メッセージが表示されますtrue。
8 !== 1=> true, 8 !== 8=> false: すべての条件が有効ではないため、メッセージは表示されません。true