• ベストアンサー

関数の動きと記述方法の意味を教えて下さい

PHPの記述にて、 下記のような指定の場合の意味を教えて下さい。 $get = (isset($hoge)) ? urlencode($hoge) : 1; 自分なりの解釈では、 「$hogeが空の時にURLエンコードしてtrueなら$getに代入。」 と思っているのですが、思った動きをしてくれません。 どうぞよろしくお願い致します。

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

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

get = (isset($hoge)) ? urlencode($hoge) : 1; これは、if文を演算子"?"に置き換えたものです。 解釈としては if(isset($hoge)) { get = urlencode($hoge); }else{ get = 1; } つまり、 $hogeに変数がセットされていたら、get =urlencode($hoge)を処理、 セットされていなかったら、get = 1; という事です。

その他の回答 (2)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

三項演算子 http://php.benscom.com/manual/ja/language.operators.comparison.php 別パターン isset($hoge) ? $get = urlencode($hoge) : $get = 1; 行数が少なくなりますが分かりにくいので 使わないようにしようといったマナーも存在します。

回答No.2

No1ですが、誤字がありました。 × get → ○ $get

関連するQ&A

専門家に質問してみよう