重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

ISSETで変数に値が入っていないか確認するのですが

<?
$a = '';
if (isset($a)) {
echo "何か入っています。";
} else {
echo "空っぽです。";
}
?>

上のコードで「何か入っています。」がエコーされてしまいます。issetは値が入っていなければFALSEを返すと思ったのですが違うようなのでちょっと混乱してしまったのですが、これがマニュアルに書いてある「NULL に設定されている変数を調べた場合、 isset() はFALSE を返します。 」、ということなのでしょうか?

A 回答 (1件)

isset は変数に値があるかどうかではなくて、変数が存在するかどうかです。


echo isset($a); // false
$a = '';
echo isset($a); // true

値を検証したい時は、
!empty($a) や $a !== null や $a !== '' 等状況に合わせてどうぞ。
    • good
    • 0
この回答へのお礼

ありがとうございます。勉強になりました。

お礼日時:2006/10/30 05:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!