我是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'];
}