【问题标题】:getting an array of php cookies based on cookie name根据 cookie 名称获取 php cookie 数组
【发布时间】:2011-03-01 13:43:27
【问题描述】:

我不确定这是否可能,但我正在尝试创建一个收藏夹列表(使用 cookie)。我可以使用 jquery 添加/删除 cookie 并使用 php 打印出我的 cookie 列表。但是,我的 cookie 数组有一些我不感兴趣的东西,我认为有些是可变的,所以我不能手动取消它。

这是我的 cookie 数组:

Array
(
    [ys-vmconfiguration-active] => s:ext-comp-1005
    [94106e70fc3234ce511b7b9bd5d5d9b0] => 639b623be5a68913a11421e23de05559
    [6fb7ca7b058abd27041a8b41fed8f368] => 54 D575B4211 B 8 E4110165741 D 2 B 610 3415F 45914 050 B A F12 A46 D5D5B1B1250434714 A17561158105C56 81A53 15C A5843 F1B
    [d5e8a24a0ca709537c5c26b3134af3b5] => 46aac9d9a4d6c6a1a74c529a43dd4187
    [item_225] => 225
    [item_6] => 6
    [item_123] => 123
    [item_19] => 19
)

^^ 有没有办法获取所有以“item_”开头的cookie?

所以我的新 cookie 数组将是:

Array
(
    [item_225] => 225
    [item_6] => 6
    [item_123] => 123
    [item_19] => 19
)

【问题讨论】:

  • 你想要过滤后的 Cookie 数组用 PHP 还是 JS?

标签: php jquery cookies


【解决方案1】:
function has_item($key) {
   return strpos($key, 'item_') !== false;
}
$_COOKIE = array_flip(array_filter(array_flip($_COOKIE), 'has_item'));

我在命令行上使用了一个 php 文件对此进行了测试,它确实有效。至于它是否适用于浏览器,我不能肯定地说,但我不明白为什么不。另一件要考虑的事情是:吃其他饼干有那么糟糕吗?它们可能是无害的跟踪 cookie。

无论如何,一个解释:翻转键与值,以便保持值。您不能按键过滤,只能按值过滤。过滤没有“item_”的项目。然后再把它翻回来,这样键和值就正确了。

【讨论】:

  • 哦,我不是要删除 cookie,只是从我的 cookie 创建一个新数组来构建一个“收藏夹”列表。将检查此代码ty :)
猜你喜欢
  • 1970-01-01
  • 2012-05-30
  • 2011-05-17
  • 2017-07-26
  • 2017-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多