我的cookie的值是像这样的JSON格式字符串
{
"_id":{
"$oid":"5347d81c3e9b2ace058b4567"
},
"employee_id":{
"$oid":"534ae3933e9b2a8f058b4568"
},
// some more data
} // it's from mongolab
在我的PHP代码中,当我试图获得employee_id
时,我只得到" {"
这是PHP代码
if(isset($_COOKIE['remember_me'])){
echo($_COOKIE['remember_me']['employee_id']);
}
但如果我echo($_COOKIE['remember_me'])
我得到结果这个`
{"employee_id":{"$id":"5347d81c3e9b2ace058b4567"},"serial_number":"po9TsUdAK6nO6yFdSRyGcpSH7mqU6m+G","cookie_code":"YvfnP6\/PdDG8xhZRkEky1lKvS4n+AUom","hostname":"Titus","user_agent":"Mozilla\/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko\/20100101 Firefox\/28.0","user_ip":"127.0.0.1","last_used":false,"_id":{"$id":"534ae3933e9b2a8f058b4568"}}
所以我做错了什么,但我没有足够的经验来发现我的错误。请帮忙,如何获得employee_id
?
答案 0 :(得分:0)
您可以使用json_decode将JSON字符串转换为数组。
在你的情况下:
$rememberMe = json_decode($_COOKIE['remember_me'], true); // When the second parameter is true, json_decode will return an associative array.
$employeeId = $rememberMe['employee_id']['$id'];
换句话说,现在cookie只是一个字符串。您需要使用json_decode将其转换为数组。
答案 1 :(得分:0)
你需要解码json
$obj = json_decode($_COOKIE['remember_me']);
print $obj->{'employee_id'};