lighthouse.log

lighthouse.log

【 PHP 】変数の存在有無をチェックする isset()、empty()の違い

2018-01-25

はじめに

こんにちは!

今回は、PHP で変数の値をチェックする方法についてメモです。

もし変数の値が存在するかをチェックする時って、どうすれば良いでしょうか。

こういう時に使えるのが isset()empty()です。

isset(チェックする変数名);

empty(チェックする変数名);

isset()、 empty() 関数について

isset()empty()も変数の値も存在有無を確認できる関数です。

この二つの違いって何でしょうか。

関数名 説明
isset() 値の存在有無をbooleanで返す。
値が存在し、null でなければtrueを返す。
empty() 値が存在しない または 値が0orfalseornullの場合、trueを返す。

isset()サンプルコード

isset()を使って変数の値の存在有無をチェックします。

sample.php
<?php
if (isset($hoge)) {
    echo '値を持っている';
} else {
    echo '値を持ってない';
}
?>

empty()サンプルコード

それでは、empty()について。

似ている関数のように見えますが、empty()関数は、変数がfalseor0だとしても

trueを返すという点がisset()と確実な違いを持ってます。

sample.php
<?php
if (empty($hoge)) {
    echo '「値がない」or「0」or「false」or「null」';
} else {
    echo '値を持っている';
}
?>