- ベストアンサー
以下のスクリプトの「?」とか「: null」とか
↓このページのベストアンサーのスクリプトについて質問です。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1042945020 スクリプトの中の↓の行の中に「?」とか「: null」とか出てくるんですが、これってどういう構文なんですか? $post->$value = isset($_POST[$value]) ? $_POST[$value] : null; 参考ページでも構いませんので教えていただければと思います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
三項演算子です。 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; } は,(前者が式であり後者が文であることを除いて) 同じ意味です。
その他の回答 (3)
- taco0603
- ベストアンサー率63% (21/33)
ヒアドキュメントです。 参考URLを良く読んで下さい。
お礼
ありがとうございます。
- shimix
- ベストアンサー率54% (865/1590)
>「<<<HTML」及び「HTML;」についても教えていただけませんでしょうか? ヒアドキュメント構文です。 RTFM. http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc マニュアルの最初の方に書いていること(構文)については、まずはマニュアルで調べてください。
お礼
ありがとうございます。 初歩的な質問で大変失礼いたしました。 以後気を付けます。
- taco0603
- ベストアンサー率63% (21/33)
三項演算子です。 条件分岐書く時に使用しますが、可読性が低いと思うので自分は使いません。 if~elseで同じ物がかけますから。
お礼
ありがとうございます。 二度手間になってしまい恐縮ですが、先ほどのと同じスクリプトの中にある「<<<HTML」及び「HTML;」についても教えていただけませんでしょうか?
お礼
ありがとうございます。 二度手間になってしまい恐縮ですが、先ほどのと同じスクリプトの中にある「<<<HTML」及び「HTML;」についても教えていただけませんでしょうか?