PHP自主練 / 2hour
Sep / 12.5hour
Total / 114hour
WEBサービス部の自主練用教材
isset関数とは?
isset()とすることで、引数に指定した変数が定義されているかどうか(値がセットされているかどうか)+NULLかどうかを調べることができる。
値がセットされていればTRUEを、セットされていなければFALSEを返す。
$language = "Japanese"
isset($language) //TRUE
$language
isset($language) //FALSE
isset()でややこしい空文字や「0」
isset()はあくまで、
「変数に値がセットされていない時にFALSEを返す」
ということなので、下記の例は全てTRUEを返します。
$sample1 = '';
$sample2 = 0;
$sample3 = "0";
一見すると「値入ってないから、FALSEじゃないの?!」と思いますが、あくまでissetは「値が定義されているかどうか」を判断しています。
そのため、上記は空文字や0という数値、数字を定義づけしているので結果は全てTRUEが返ってくる、ということになります。
逆に、どういう時にFALSEが返ってくるのか。それは上記の逆なので「値が定義されていない時」となります。
$sample4 //変数の宣言のみ。(=undifined)
$sample5 = NULL; //変数に NULLがセットされた場合
$sample6 = "これはサンプルです";
unset($sample6)
//unset()は変数を破棄する変数なので、これも結果はFALSEとなる。
*unset()についての詳しい情報はこちら
似たような関数に「empty()」ってやつもいました。
値がどういう時に、issetやemptyだとTRUE or FALSEなのか。
先人が下記のようにわかりやすくまとめてくれていました。
引用元:https://qiita.com/shinichi-takii/items/00aed26f96cf6bb3fe62
どのような時にTRURかFALSEかをしっかりと抑えておくことで、コードを書く時に何を使うのか?を素早く判断できるようにしたいですね。
参考
学習は全てウェブカツ!!というプログラミングスクールで学んでいます。
大手スクール生徒や現役エンジニアが多数学び直している「実務レベル」に特化した「稼ぐ」ためのプログラミングスクール[…]