?php $a = array ('test '= 1, 'hello' = NULL); var_dump (isset ($a['test'])); / / TRUE var_dump (isset ($a['foo'])); / / FALSE var_dump (isset ($a['hello'])); / / FALSE / / The key'hello 'equals NULL so is considered unset / / If you want to check for NULL key values then try: var_dump (array_key_exists('hello', $a)); / / TRUE?
変数が、 unset() により割当を解除された場合、 isset() はもう TRUE とはなりません。 NULL に設定されている変数を調べた場合、 isset() は FALSE を返します。 NULL バイト( "\0" )はPHPの定数 NULL と等価ではないことにも注意して下さい。