何が起こっているかについてもっと知るにはどうすればよいですか?条件を変数に割り当てます。
$result = $extra = "John" || "Kevin" || "Cameron" || "Santosh" || "Ali";
次に、条件を可視化します。
var_dump($result);
これにより、次のことが得られます。
bool(true)
true
条件がブール値( demo )になったことを意味します。なぜこれが起こるのか、あなたは今自問するかもしれません。そのために、条件を個別に選択できます。
"John" || "Kevin" || "Cameron" || "Santosh" || "Ali"
true
これはPHPでの の表現です。だけで交換できますtrue
。次の部分:
$extra = true;
それは簡単だ。true
変数に割り当てます$extra
。最後の部分:
$result = true;
繰り返しますが、式の結果を に代入すると、 が表示さ$result
れますtrue
。
$extra
代わりに、変数に名前のいずれかが含まれていることを確認したいと思うでしょう。これを適切に行うために、PHP にはいくつかの注意事項があります。まず第一に、あなたの人生を楽にし、チェックしたいすべての名前を配列に入れます:
$names = array("John", "Kevin", "Cameron", "Santosh", "Ali");
次に、その配列にあることを厳密に確認します。$extra
$result = in_array($extra, $names, true);
3 番目のパラメーターがtrue
ここにあることに注意してください。これは厳密なチェック用です ( in_array
Docsを参照)。そうでなければ、それが真で$extra
あることがわかるかもしれません。次に、結果を処理しますが、変数が必要なだけです。0
$result
$image = $result ? 'maria2.png' : 'maria.png';
そして最後に出力を行います:
printf(
'<img src="http://yespricer.com/theme/Freshness/images/%s" width="75"/>'
, $image
);
そして、あなたはあなたの問題を解決しました。完全なコード例:
$names = array("John", "Kevin", "Cameron", "Santosh", "Ali");
$result = in_array($extra, $names, true);
$image = $result ? 'maria2.png' : 'maria.png';
printf(
'<img src="http://yespricer.com/theme/Freshness/images/%s" width="75"/>'
, $image
);
デモ
同様に参照してください: