在PHP中,它可能有一个数组,其中一个字符串以前存储?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"
这里工作正常:valuebefore: typebefore:string typeafter:array valueafter:Array –
它可能是一些PHP配置可能吗? – sapeish
你可以尝试用普通的'数组'而不是'会话'做这个吗?看起来你的会议可能是问题。它也适用于我使用会话。 – ace