isset

(PHP 3, PHP 4, PHP 5)

isset -- 変数がセットされているかどうかを検査する

説明

bool isset ( mixed var [, mixed var [, ...]] )

var が存在すれば TRUE 、 そうでなければ FALSE を返します。

変数が、 unset() により割当を解除された場合、 isset() はもう TRUE とはなりません。 NULL に設定されている変数を調べた場合、 isset() FALSE を返します。 NULL バイト( "\0" )はPHPの定数 NULL と等価ではないことにも注意してください。

Warning: isset() は何らかの値が渡された 変数の場合のみ動作します。そうでない場合、パースエラーとなります。 もし 定数 が設定されているかどうかをチェックする場合は、 defined() を使用してください。

<?php

$var
= '' ;

// これは TRUE と評価されるので、テキストが出力される
if (isset( $var )) {
    echo
"This var is set so I will print." ;
}

// 次の例では、isset() の戻り値を出力するため var_dump を
// 使用している

$a = "test" ;
$b = "anothertest" ;

var_dump (isset( $a ));       // TRUE
var_dump (isset( $a , $b )); // TRUE

unset ( $a );

var_dump (isset( $a ));      // FALSE
var_dump (isset( $a , $b )); // FALSE

$foo = NULL ;
var_dump (isset( $foo ));    // FALSE

?>

この関数は配列の要素に対しても動作します:

<?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

// キー 'hello' は NULL と等しいのでセットされていないと見なされる。
// もし NULL なキー値に対してチェックを行いたい場合、次を試してみること:
var_dump ( array_key_exists ( 'hello' , $a )); // TRUE

?>

注意: これは、関数ではなく 言語構造のため、 可変関数 を用いて コールすることはできません。

empty() , unset() , defined() , PHP 型の比較表 , array_key_exists() , エラー制御演算子 @ も参照ください。