• ベストアンサー

issetの使い方

こんにちは、 参考にしたサイトに下記文があったのですが $get_meta = isset($get_meta[0]) ? $get_meta[0] : null; issetで存在を確認するという意図だと思うのですが ? $get_meta[0] : null;この部分はどうゆう意味になるのでしょうか?

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

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

三項演算子です。 PHPBook - 三項演算子 http://www.phpbook.jp/tutorial/if/index8.html isset($get_meta[0]) ? $get_meta[0] : null この式は、$get_meta[0] が定義されていて且つ null でないならば $get_meta[0] を、未定義または null でれば null を表すことになります。 なお、もしスーパーグローバル変数に対してこれを適用するのであれば、filter_input関数を使う方がオススメです。記述がシンプルになるだけでなく、意図せず配列をセットされるリスクも防げます。 Qiita - $_GET, $_POSTなどを受け取る際の処理 http://qiita.com/mpyw/items/2f9955db1c02eeef43ea △ isset($_POST['data']) ? $_POST['data'] : null ○ filter_input(INPUT_POST, 'data')

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 「isset」の用法について

    「isset」は変数の存在を判定する関数ということですが 以下の場合だと同じ意味になると思うのですが それであれば「isset」を使わないほうがシンプルになると思います。 「isset」を使うにあたって何か特別な意味や 用法があるのでしょうか? ----------------------- if(isset($abc){ echo $abc; } と if($abc){ echo $abc; } は同じだと思うのですが。。。 ----------------------- よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ISSETで変数に値が入っていないか確認するのですが

    ISSETで変数に値が入っていないか確認するのですが <? $a = ''; if (isset($a)) { echo "何か入っています。"; } else { echo "空っぽです。"; } ?> 上のコードで「何か入っています。」がエコーされてしまいます。issetは値が入っていなければFALSEを返すと思ったのですが違うようなのでちょっと混乱してしまったのですが、これがマニュアルに書いてある「NULL に設定されている変数を調べた場合、 isset() はFALSE を返します。 」、ということなのでしょうか?

    • ベストアンサー
    • PHP
  • if (isset($_POST["body"]) && $_POST

    if (isset($_POST["body"]) && $_POST["body"])の中の&& $_POST["body"]って必要ですか? PHPのプログラムを読んでいて、以下のような部分を見つけました if (isset($_POST["body"]) && $_POST["body"]) しかし、どうせisset($_POST["body"])でnullかどうか、値が入っているかどうかを確めているので、&& $_POST["body"]の部分は必要ないように思います。なぜこのような書き方をしているのでしょうか?

    • ベストアンサー
    • PHP
  • if (isset($_a)&&$_a)この意味は

    PHP講座の第19回 スケジューラーを作ろう(9) - スケジューラー完成 - (その2) http://www.phppro.jp/school/phpschool/vol19/2 サンプルコードに下記のような書き方をしています。 if (isset($_POST["title"]) && $_POST["title"]) { isset($_POST["title"])では、$_POST["title"]そのものがあるのか、 また、$_POST["title"]=nullでないかをチェックしていると理解していますが、 その後の&& $_POST["title"]は、何のために指定しているのでしょうか。

    • ベストアンサー
    • PHP
  • (o==null ? get(i)==null : o.equals(get(i))) の意味

    すみません、以下の式を わかりやすく解説していただけないでしょうか・・ for文で使用する式なのでしょうか? Java暦はまだ浅いので、 以下のような複雑な式は初めて見ました。 また、「:」や「?」の意味が分からないのですが・・。 (o==null ? get(i)==null : o.equals(get(i)))

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

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

    • ベストアンサー
    • PHP
  • データベース(MySQL)にNULLとして格納

    下記サイトを参考にサイト上からデータベース(MySQL)のテーブルにレコードを追加できるようにしました。 http://ponk.jp/php/basic/php_mysql#page_index3 レコードの追加自体はできたのですが、テキストフィールドに何も記述されていない場合にNULLとして追加したいと思っているのですが、その方法が分かりません。 コードは次のようにしました。 $number = isset($_POST["number"]) ? $_POST["number"] : 'NULL'; $st = $pdo->prepare("INSERT INTO player(number) VALUES(?)"); $st->execute(array($number)); このコードで追加をすると、NULLではなく空白が格納されてしまいます。 どこを修正すればNULLとして格納できるようになるでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • スカラー変数をチェック

    こんにちは。 スカラー変数にデータがあるかどうかを調べるには、 どうしたらよいのでしょうか? NULLや""ではなく、存在そのものを調べたいのです。 スカラー変数を対象にしたexists関数のようなものはありませんか? PHPのisset()のような関数です。

    • ベストアンサー
    • Perl
  • XMLのタグの有無をPHPで判定したい。

    example1.xml ----------------------- <item>  <color>red</color>  <omake>candy</omake> </item> ----------------------- example2.xml ----------------------- <item>  <color>black</color> </item> ----------------------- 上記はXMLファイルの2パターンを示したものです。 商品(item)によって、オマケ(omake)があったりなかったりします。 オマケがない時には、タグ自体存在しません。 なので、タグがない時に、そのデータをDOMで取得しようとすると、 エラーが吐かれます。 Notice: Trying to get property of non-object in~~~ 私がしたいことは、 タグがない場合には、値を取得しない。 という分岐をさせることです。 例えば、 $items = $doc->getElementsByTagName('color'); if(isset($items)){echo $items->item(0)->nodeValue;} こんな感じで考えたのですが、ダメでした。 タグが無くても、$itemsはNULLではないため、 if文の中に入ってしまい、 結局、$items->item(0)->nodeValue; を通過しようとして、 Notice: Trying to get property of non-object in~~~ が吐かれます。 ($itemsは、object(DOMNodeList)#3 (0) { }といった内容で、NULLではない。) また、 if(isset($items->item(0)->nodeValue)){  echo $items->item(0)->nodeValue; } のようにすると、 isset()のところで、やはり、 $items->item(0)->nodeValue を通過しようとして、 Notice: Trying to get property of non-object in~~~ が吐かれます。 こういった場合、どうしたら良いのでしょうか。 宜しくお願いします。 (PHP5の環境です。)

    • ベストアンサー
    • PHP
  • HTMLエスケープすべき場所について教えてください。

    HTMLエスケープすべき場所について教えてください。 エスケープ処理は、利用目的に応じてなるべく直前に行なう、という原則に基づくと、 下記考え方で合っているでしょうか? ■確認したい項目1. ▽受取側のページ 例えば、if(isset(($_POST['hoge'])){~ の時点では、存在確認をしているだけなので、エスケープ処理は必要ない。 ■確認したい項目2. 自由入力できるテキスト欄は、POST・GETどちらも、画面表示処理の直前に、エスケープ処理が必要。 ■確認したい項目3. ▽予め選択肢があるプルダウン等 →POST…送信データを変更される可能性がないため、エスケープ不要。 →GET…ブラウザのURL欄を通じて送信データを変更される可能性があるため、エスケープは必要。 ■確認したい項目4. hiddenで送信するデータは、POST・GETどちらも送信データを変更される可能性がないため、エスケープ不要。 この考え方で、合ってますでしょうか? なるべく推奨されるやり方で書きたいと思いますので、アドバイスをよろしくお願いします。

    • ベストアンサー
    • PHP
MFC-J739DNが動かない
このQ&Aのポイント
  • MFC-J739DNが突然印刷できなくなったトラブルについて
  • お使いの環境はWin11で無線LAN接続、関連するソフト・アプリは特になし
  • お困りのMFC-J739DNのトラブルについて
回答を見る