получение массива php куки на основе имени куки - PullRequest
0 голосов
/ 01 марта 2011

Я не уверен, возможно ли это вообще, но я пытаюсь сделать список избранного (используя куки). Я могу добавить / удалить куки, используя jquery, и распечатать свой список куки, используя php fine. Однако в моем массиве 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 будет:

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

1 Ответ

2 голосов
/ 01 марта 2011
function has_item($key) {
   return strpos($key, 'item_') !== false;
}
$_COOKIE = array_flip(array_filter(array_flip($_COOKIE), 'has_item'));

Я проверил это, используя php-файл в командной строке, и это сработало.Что касается того, будет ли он работать с браузером, я не могу сказать наверняка, но я не понимаю, почему нет.Еще одна вещь, которую стоит рассмотреть: плохие ли эти другие куки?Это, вероятно, безобидные файлы cookie для отслеживания.

В любом случае, объяснение: переверните ключи со значениями, чтобы значения сохранялись.Вы не можете фильтровать по ключам, только по значениям.Фильтровать элементы, которые не имеют "item_".Затем переверните его снова, чтобы ключи и значения были правильными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...