[英]Checking if a $_COOKIE value is empty or not
我為變量分配了一個cookie:
$user_cookie = $_COOKIE["user"];
如何檢查$user_cookie
收到了某些值?
我應該使用if (empty($user_cookie))
還是別的什么?
這些是空的東西將返回true:
直接從PHP手冊
所以回答你的問題,是的, empty()
將是一個完全可以接受的函數,在這個例子中我更喜歡它而不是isset()
像這樣使用isset() :
if (isset($_COOKIE["user"])){
$user_cookie = $_COOKIE["user"];
}
這會告訴您$_COOKIE
是否存在名為user
的鍵。 值本身可以是""
, 0
, NULL
等。根據上下文,這些值中的一些(例如0
)可能是有效的。
PS:對於第二部分,我使用===
運算符來檢查false
, NULL
, 0
, ""
,或者可能是(string) $user_cookie !== ""
。
如果您的cookie變量是一個數組 :
if (!isset($_COOKIE['user']) || empty(unserialize($_COOKIE['user']))) {
// cookie variable is not set or empty
}
如果您的cookie變量不是 數組 :
if (!isset($_COOKIE['user']) || empty($_COOKIE['user'])) {
// cookie variable is not set or empty
}
我用這種方法。
在php http://php.net/manual/en/function.empty.php中嘗試空函數
您也可以使用isset http://www.php.net/manual/en/function.isset.php
isset()
,但請記住,像empty()
它不能用於表達式,只能用於變量。
isset($_COOKIE['user']); // ok
isset($user_cookie = $_COOKIE['user']); // not ok
$user_cookie = $_COOKIE['user'];
isset($user_cookie); // ok
( isset()
是處理cookie時的方法 )
您可以使用:
if (!empty($_COOKIE["user"])) {
// code if not empty
}
但有時你想設置是否首先設置了值
if (!isset($_COOKIE["user"])) {
// code if the value is not set
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.