PHP5.3から非推奨になりました。
session_is_registered()関数を使うと、あるセッション変数がセッション管理されているかどうかを調べることができます。この関数では引数にセッション変数名を指定します。「$_SESSION」は使わず、変数名だけを文字列として指定します。そのセッション変数が定義されていない、unset()関数で破棄されていたなどの場合にはFalseを返します。
この例を実行すると、最初は変数sessdata3に「技術評論社」という文字が代入されているので、それが表示されます。しかし、この変数は途中のunset()関数によって破棄されるため、2回目のsession_is_registered()関数ではFalseが返されます。
<?php header("Content-type: text/html; charset=utf-8"); //セッションを開始 session_start(); //if(session_is_registered("sessdata3")){ if(isset($_SESSION["sessdata3"])){ //セッション変数が設定されているとき echo $_SESSION["sessdata3"] . "<br>"; } else{ echo "セッション変数は使われていません!<br>"; } //セッション変数を破棄 unset($_SESSION["sessdata3"]); //if(session_is_registered("sessdata3")){ if(isset($_SESSION["sessdata3"])){ //セッション変数が設定されているとき echo $_SESSION["sessdata3"] . "<br>"; } else{ echo "セッション変数は使われていません!<br>"; } ?>