1 回答
TA贡献1852条经验 获得超7个赞
因为你先说:
$explodedCookiesArray[$h][$i] = $item . " " ;
然后你说:
if ($explodedCookiesArray[1][1] == "house_rent")
比较中没有空格字符。
这段代码比它需要的要冗长得多。如果我正确理解您的数据,foreach那么您只需要循环中的一行:
// test data
$_COOKIE = [
"PHPSESSID" => "378b94ed20765e354ec9790832800ed6",
"Offering5ce890ed7f11d" => "Offering5ce890ed7f11d__house_rent",
"Offering5ce8935b812f6" => "Offering5ce8935b812f6__house_sale",
"Offering5ce8f86bbda11" => "Offering5ce8f86bbda11__flat_sale",
];
$explodedCookiesArray = [];
foreach ($_COOKIE as $c) {
$explodedCookiesArray[] = explode("__", $c);
}
if ($explodedCookiesArray[1][1] == "house_rent") {
echo "Hello";
} else {
echo "Goodbye";
}
输出:
Hello
真的,您应该做的是将其存储为值的序列化数组而不是多个 cookie。或者将列表存储在数据库中,并在 cookie 中仅保留一个唯一标识符。
- 1 回答
- 0 关注
- 133 浏览
添加回答
举报