我是webapps和PHP的新手。

我正在尝试获取尚未创建的cookie,我的意思是,当我尝试加载查找不存在的cookie的页面时出现错误,我尝试通过try/catch摆脱它,但是没有成功。这是我正在尝试的代码:

try{

    $cookie =  $_COOKIE['cookiefoo'];

    if($cookie){

          //many stuffs here
    }
    else
        throw new Exception("there is not a cookie");
}
catch(Exception $e){

}

我如何实现这一目标,任何想法,我们将不胜感激。

最佳答案

如果 key 不存在,请使用 isset 防止发生任何警告或通知:

if(isset($_COOKIE['cookiefoo']) && !empty($_COOKIE['cookiefoo'])) {
    // exists, has a value
    $cookie =  $_COOKIE['cookiefoo'];
}

array_key_exists 可以完成相同的操作,尽管我认为isset更为简洁:
if(array_key_exists('cookiefoo', $_COOKIE) && !empty($_COOKIE['cookiefoo'])) {
    // exists, has a value
    $cookie =  $_COOKIE['cookiefoo'];
}

09-25 20:15