ネストされた構文でPHPの三元表現が正しいですが、結果が正しくありません、以下はあなたが無視正の解であります

  • ここで私が今までやった場合は、シンプルなのに、であるが、問題は誤解を招くです。

次のコードの結果を見てください

$dirNum=69;
$direction = $dirNum == 69 ? '东' : $dirNum == 87 ? '西' : '无';
echo $direction; //结果: 西

それは、通常の結果として理解されていない

上記のプログラムの結果が西である理由だから、実際には、上記の手順の本質は間違っていないです。しかし、あなたが理解していれば、プログラムを実行するプロセスを理解するだろう。

三項演算子に従うことができ、このコードは、3つの部分に分けることができます $direction = $dirNum == 69 ? '东' : $dirNum == 87 ? '西' : '无';

  1. 条件式: $direction = $dirNum == 69
  2. 結果の設立後: ? '东' : $dirNum == 87 ? '西'
  3. 結果を保持していません。: '无'

さて、式の結果を見ては、事実を確立し、2つがありますされる?問題は、私はあなたがそれを持って見信じますか?結果はそれを強制されているので。後者は確かに実行されます? '西'私は、プログラムが論理的エラーはエラーではないではないが存在することを意味するわけではないことを理解しています。

だから、僕は問題を回避するように、二三項演算子は、継続的な操作の条件として確立されていないので、こと、これに基づいて補正を行いました。

$dirNum=69;
$direction = $dirNum == 69 ? '东' : ( $dirNum == 87 ? '西' : '无' );
echo $direction; //结果: 东
公開された156元の記事 ウォンの賞賛531 ビュー110 000 +

おすすめ

転載: blog.csdn.net/qq_39043923/article/details/95595148