问题
以下代码从“print $ readerStatus” -
行产生此错误未定义的索引:readerStatus
代码的
<?php
//Get Cookie Value
if (isset($_COOKIE['readerStatus'])) {
$readerStatus=$_COOKIE['readerStatus'];
} Else {
$readerStatus="Not Set";}
echo "The value of Cookie readerStatus is " . $_COOKIE['readerStatus'];
print $readerStatus;
&GT;
背景 目标很简单,如果设置了cookie,我想将值传递给Javascript。我的策略如下:
它按预期工作但是Eclipse给了我错误,所以我认为上面的代码有问题。
我很欣赏有关问题可能来源的任何指示。
由于
答案 0 :(得分:0)
这有效吗?
<?php
//Get Cookie Value
if (isset($_COOKIE['readerStatus'])) {
$readerStatus=$_COOKIE['readerStatus'];
} else {
$readerStatus="Not Set";
}
echo ("The value of Cookie readerStatus is ".$readerStatus);
print ($readerStatus);
?>
答案 1 :(得分:0)
这是一个警告,而不是错误。但是,您可以使用array_key_exists跳过错误。一般来说,我不喜欢这种检查。
if (array_key_exists('readerStatus', $_COOKIE))
{
$readerStatus=$_COOKIE['readerStatus'];
}
else
{
$readerStatus='Not Set';
}
echo 'The value of Cookie readerStatus is '. $readerStatus;
答案 2 :(得分:0)
有些IDE比PHP解析器本身更不宽容。话虽这么说,运行代码时是否收到任何错误或通知? PHP中的变量是隐式声明的,因此未定义的索引消息只是一个NOTICE(可以忽略),关于访问数组元素而不首先存在它。
如果您在访问之前检查它是否存在,那么您应该没有问题。
$readerStatus = isset($_COOIKE['readerStatus']) ? $_COOIKE['readerStatus'] : '';