2011-03-01 17 views
0

これも可能かどうかはわかりませんが、クッキーを使用してお気に入りリストを作成しようとしています。私はjqueryを使用してクッキーを追加/削除することができ、PHPの罰金を使ってクッキーリストをプリントアウトすることができます。しかし、私のクッキー配列には私が関心のないものがいくつかあります。変数が可変であると思うので、手動で設定を解除できません。ここでクッキー名に基づいてPHPクッキーの配列を取得する

は私のクッキーの配列です:

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_」のみで始まるクッキーのすべてを取得する方法はありますか?

だから私の新しいクッキーの配列は次のようになります。

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

PHPまたはJSでフィルタされたCookie配列を使用しますか? – Shad

答えて

2
function has_item($key) { 
    return strpos($key, 'item_') !== false; 
} 
$_COOKIE = array_flip(array_filter(array_flip($_COOKIE), 'has_item')); 

私は、コマンドラインでのPHPファイルを使用してこれをテストし、それが働きました。ブラウザで動作するかどうかは、確かに言えませんが、どうしてそうは見えません。もう一つ考慮すべきことは、他のクッキーが悪いことですか?彼らはおそらく無害なクッキーを追跡しています。

とにかく説明:値を持つフリップキーで値が維持されます。キーだけでフィルタリングすることはできません。 「item_」を持たない項目をフィルタリングします。次に、キーと値が正しいようにもう一度戻します。

+0

ああ、私はクッキーを削除しようとしていない、単に "お気に入り"のリストを構築するために、クッキーから新しい配列を作成します。このコードをチェックアウトします:) – SoulieBaby

+0

素晴らしい作品!ありがとうございました :) – SoulieBaby

関連する問題