電子書籍の厳選無料作品が豊富!

セッション変数で定数を下記の通りにdefineを用いて宣言すると、giftが未定義ですというエラーが出てきます。

セッション変数を用いて定数を宣言することはできないのでしょうか?

switch($db)
{
case 'search':
define($_SESSION['gift'], 1);
break;
case 'inq';
define($_SESSION['gift'], 2);
break;
default:
break;
}

A 回答 (2件)

できません。


セッション変数は変数であって、定数ではありません。

define()の使い方も間違っています。
https://www.php.net/manual/ja/function.define.php

caseによって$_SESSION['gift']の内容が切り替わるならば、
$_SESSION['gift']の値を代入すればいいだけで、定数として
考える必要はないかと思います。

その後、$_SESSION['gift']に入っている値で処理を判断する
ことも可能です。
    • good
    • 1

そもそもセッションを定数にする意味もないので変数として利用ください

    • good
    • 1

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