• ベストアンサー

以下のスクリプトの「?」とか「: null」とか

↓このページのベストアンサーのスクリプトについて質問です。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1042945020 スクリプトの中の↓の行の中に「?」とか「: null」とか出てくるんですが、これってどういう構文なんですか? $post->$value = isset($_POST[$value]) ? $_POST[$value] : null; 参考ページでも構いませんので教えていただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

三項演算子です。 http://www.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary $post->$value = isset($_POST[$value]) ? $_POST[$value] : null; と if (isset($_POST[$value])) { $post->$value = $_POST[$value]; } else { $post->$value = null; } は,(前者が式であり後者が文であることを除いて) 同じ意味です。

mic_goto
質問者

お礼

ありがとうございます。 二度手間になってしまい恐縮ですが、先ほどのと同じスクリプトの中にある「<<<HTML」及び「HTML;」についても教えていただけませんでしょうか?

その他の回答 (3)

  • taco0603
  • ベストアンサー率63% (21/33)
回答No.4

ヒアドキュメントです。 参考URLを良く読んで下さい。

参考URL:
http://php.net/manual/ja/language.types.string.php
mic_goto
質問者

お礼

ありがとうございます。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

>「<<<HTML」及び「HTML;」についても教えていただけませんでしょうか? ヒアドキュメント構文です。 RTFM. http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc マニュアルの最初の方に書いていること(構文)については、まずはマニュアルで調べてください。

mic_goto
質問者

お礼

ありがとうございます。 初歩的な質問で大変失礼いたしました。 以後気を付けます。

  • taco0603
  • ベストアンサー率63% (21/33)
回答No.2

三項演算子です。 条件分岐書く時に使用しますが、可読性が低いと思うので自分は使いません。 if~elseで同じ物がかけますから。

参考URL:
http://php.net/manual/ja/language.operators.comparison.php
mic_goto
質問者

お礼

ありがとうございます。 二度手間になってしまい恐縮ですが、先ほどのと同じスクリプトの中にある「<<<HTML」及び「HTML;」についても教えていただけませんでしょうか?

関連するQ&A