- ベストアンサー
関数の動きと記述方法の意味を教えて下さい
PHPの記述にて、 下記のような指定の場合の意味を教えて下さい。 $get = (isset($hoge)) ? urlencode($hoge) : 1; 自分なりの解釈では、 「$hogeが空の時にURLエンコードしてtrueなら$getに代入。」 と思っているのですが、思った動きをしてくれません。 どうぞよろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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; 行数が少なくなりますが分かりにくいので 使わないようにしようといったマナーも存在します。
- maenet1972
- ベストアンサー率68% (26/38)
回答No.2
No1ですが、誤字がありました。 × get → ○ $get