PHP では、文字列が以前に格納された配列を持つことは可能ですか?
echo "valuebefore: ".$_SESSION['REQUEST_TOKEN'][TL_MODE];
$_SESSION['REQUEST_TOKEN'][TL_MODE] = "somestring";
echo "typebefore: ".gettype($_SESSION['REQUEST_TOKEN'][TL_MODE]);
$_SESSION['REQUEST_TOKEN'][TL_MODE] = array();
echo "typeafter: ".gettype($_SESSION['REQUEST_TOKEN'][TL_MODE]);
if (!is_array($_SESSION['REQUEST_TOKEN'][TL_MODE]))
{
echo "is not an array";
}
echo "valueafter: ".$_SESSION['REQUEST_TOKEN'][TL_MODE];
出力は次のとおりです。
valuebefore: A
typebefore: string
typeafter: string << the type didnt change to array!
is not an array
valueafter: A << the value was not updated!
新しい配列を保持できないのはなぜですか? 値も変わらないのはなぜですか?
編集:
関連する他の変数の vardump は次のとおりです。
echo var_dump(TL_MODE)." <br/>";
echo var_dump($_SESSION['REQUEST_TOKEN'])." <br/>";
echo var_dump($_SESSION['REQUEST_TOKEN'][TL_MODE])." <br/>";
出力:
string(2) "FE"
string(32) "A96665c9f1e41d1745bf3a3d75cff33a"
string(1) "A"