アプリ版:「スタンプのみでお礼する」機能のリリースについて

$data = ($a == $b && $c != $d)
? $e[ 'name' ] . '<img src="' . $f[ 'name2' ] . '" title="' . $e[ 'name' ] . '" align="bottom" border ="0">': '';

こんにちは。上のコードを読み解こうとしているのですが、少しわからないので投稿させていただきました。

いつも見慣れている演算子は if やwhile などの制御構造に使われているのですが、今回出くわしたのは今まで見たことがないパターンでよくわかりません。

多分( )内は計算しているのだと思いますが、 次の ? の用途がわかりません。 その後は変数を含む文字列を横並びにくっつけている、というのはわかります。

これについて解説しているページ、またはこの用法についてご存知のかたおられましたらご教授ください。

A 回答 (2件)

$data = ($a == $b && $c != $d) の部分ですね?


- $aが$bと等しく、$cが$dと異なっているなら $dataには
$e[ 'name' ] . '<img src="' . $f[ 'name2' ] . '" title="' . $e[ 'name' ] . '" align="bottom" border ="0">'
- 上記以外なら$dataには、
'';
をそれぞれ代入せよの意でしょう。
$a=(論理式)? $b : $c
(論理式)が真なら、$aには$b、偽なら$cを代入せよと言う三項演算だと思われます。
    • good
    • 0
この回答へのお礼

詳しく解説していただきありがとうございます。おかげさまで理解することができました。感謝いたします。

お礼日時:2006/10/22 00:22

がると申します。


んっと。正しくは
$a = ($b == $c) ? $d : $e;
ですね。
今回の例ですと、$eにあたる部分は '' (空文字)となっています。

C言語では割合によく見るのですが。「三項演算子」と呼称します。
構成としては
変数a = (条件式) ? 値a : 値b ;
となりまして。
もし条件式がtrueなら値aが、falseなら値bが、変数aに入ります。

googleで三項演算子で検索すると色々と見えてくるかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。三項演算子というのははじめて知りました。おかげさまで理解を深めることができました。

お礼日時:2006/10/22 00:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!