dポイントプレゼントキャンペーン実施中!

PHPの記述にて、
下記のような指定の場合の意味を教えて下さい。

$get = (isset($hoge)) ? urlencode($hoge) : 1;

自分なりの解釈では、
「$hogeが空の時にURLエンコードしてtrueなら$getに代入。」
と思っているのですが、思った動きをしてくれません。

どうぞよろしくお願い致します。

A 回答 (3件)

get = (isset($hoge)) ? urlencode($hoge) : 1;


これは、if文を演算子"?"に置き換えたものです。
解釈としては

if(isset($hoge)) {
get = urlencode($hoge);
}else{
get = 1;
}

つまり、
$hogeに変数がセットされていたら、get =urlencode($hoge)を処理、
セットされていなかったら、get = 1;
という事です。
    • good
    • 0

三項演算子


http://php.benscom.com/manual/ja/language.operat …

別パターン
isset($hoge) ? $get = urlencode($hoge) : $get = 1;

行数が少なくなりますが分かりにくいので
使わないようにしようといったマナーも存在します。
    • good
    • 0

No1ですが、誤字がありました。



× get → ○ $get
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!