isset, empty, is_nullの違いと使い所

isset, empty, is_nullの違いについて整理します。また、どういったケースで利用すればいいのかについて取り上げます。

isset, empty, is_nullの動作

isset()

変数がセットされており、それが NULL でないことを調べます。
is_null() と反対の結果を返します。

empty()

変数が空(空文字 0 NULL FALSE 空の配列)だったら TRUE それ以外は FALSE を返します。

is_null()

変数が NULL かどうか調べます。変数が NULL なら TRUE、それ以外は FALSE を返します。
変数が未定義の時も TRUE を返しますが、未定義のチェックは isset() を使ったほうが良いと思います。

違いを整理

それぞれ判定結果は以下のようになります。

関数 未定義 NULL 0 “”(空文字) “abc”
isset False False True True True
empty True True True True False
is_null True(Notice) True False False False

変数を宣言したが値を設定してない場合はNULLとなります。

$var;
var_dump($var);  // NULL

ですが、Notice: Undefined variableといった警告がでます。
下記のように明示的にNULLを設定するほうが望ましいです。

$var = NULL;
var_dump($var);  // NULL

使い所

isset

$params = parse_url($url);
if (isset($params['query'])) {
    parse_str($params['query']);
}

任意のキーで連想配列が存在するか判定しています。

if (isset($_POST['XXXXX'])) {
    $xxxxx = $_POST['XXXXX'];
}

任意の文字列のPOSTを受けとっているか判定しています。

empty

$sql = "SELECT * FROM table";
if(!empty($cond)) {
    $sql = $sql . " WHERE " . $cond;
}

文字(空文字と0を除く)が設定されているか判定しています。

is_null

function funcXXXX($value = null) {
    if (!is_null($value)) {
        $value = funcYYYY($value);
    }
    return is_null($value);
}

関数の引数値をデフォルトでNULLとしています。
引数がセットされているかどうかをis_nullで判定してます。

$result = funcZZZZ();
if (is_null($diff)) {
     
}

関数の戻り値がNULLであるか判定しています。

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。