issetとempty
条件分岐とよく使う関数
isset
変数が定義されていて、null以外の値の時にtrueを返す。
$a = 0;
$b = 1;
if(isset($a)){
echo 'true';
}else{
echo 'false';
}
変数$aが定義されていて、なおかつ「0」なのでnullでもない。
つまりtrueを返す!
実行結果
true
empty
issetがfalse、または値がfalsyな場合にtrueを返す。
変数が空ならtrue。issetと逆。
$a = 0;
$b = 1;
if(empty($a)){
echo 'true';
}else{
echo 'false';
}
実行結果
true
変数$aは「0」が定義されているが、「0」はfalsyな値とされるので、
trueを返す!これはややこしい。
よく使われる形(否定の論理演算子)
$a = 0;
$b = 1;
if(!empty($a)){
echo 'true';
}else{
echo 'false';
}
実行結果
false
$aが空ではない時、true。
空の時、falseとなるので、
0はfalseyのためfalseが実行される。