• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文: 三項演算子で違いが判らない)

三項演算子で違いが判らない

このQ&Aのポイント
  • 変数「$data」が10以上の場合は「10以上」と表示し、それ以外の場合は「10以下」と表示する三項演算子についての質問です。
  • 質問者は一つ目のコードは理解できるが、二つ目のコードが理解できないと述べています。
  • 質問者は二つのコードが同じ三項演算子であることに気づいており、違いを教えてほしいとしています。

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

>$str = ($data >= 10)?"10以上":"10以下"; こちらは三項演算子。 >if (isset($argv[1])){ > $param = $argv[1]; >} else { > $param = 'default'; >} こちらは三項演算子と「同じ意味」になるように、if文で展開されたもの… ではありませんか? $param = isset($argv[1]) ? $argv[1] : 'default'; をif文に展開すると同義になるかと。

Campus2
質問者

お礼

 ご回答誠にありがとうございました。  以下構文で! <?php $data = 10; $str = ($data >= 10)?"10以上":"10未満"; print $str; ?>    以上ですが、最初のご紹介した構文の、$data = 15;を10;に、10以下を10未満に変えました。      $data = 10;を操作することにより10以上、10未満 と変化します。  そらが論理的なやり方なのか、わかりませんが、試したら私的には都合が良かったです。    あと    if文で展開ですが、定番とのことで、少し勉強してみます。  

その他の回答 (2)

  • ahoo_ok
  • ベストアンサー率31% (30/95)
回答No.3

>$str = ($data >= 10)?"10以上":"10以下"; 質問者は、算数レベルの事理解できている? 10以下はあり得ない。 10未満な 以下と未満の使い分けできるか?

Campus2
質問者

補足

 STAP細胞論文じゃないけど!以下のサイトから「こぴぺ」で鵜呑みしました。   http://www.php-ref.com/basic/02_san_enzan.html   公の場に出す場合は!  ちゃんと見直さないと、STOP細胞に変化しますからね^^・ちょっぴり残念_ _

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

>if (isset($argv[1])){ >$param = $argv[1]; >} else { >    $param = 'default'; >} これは単なる if 構文ですよね。三項演算子で書くなら $param = isset($argv[1]) ? $argv[1] : 'default'; です。$paramに$argv[1]が存在したら$argv[1]を、そうでなければ'default'を代入します。POSTデータの代入などでは $name = isset($_POST['name']) ? $_POST['name'] : ''; といった書き方を多用します(ほとんど定石の記法です)。

関連するQ&A