• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クッキーを連想配列で扱う方法について)

クッキーを連想配列で扱う方法について

このQ&Aのポイント
  • クッキーを連想配列で使おうと思い、うまく動作しないコードがあります。セットされているクッキーの判定と処理方法をアドバイスしてください。
  • クッキーを連想配列でセットしたいが、うまく動作しないコードがあります。セットされているクッキーの判定と処理方法を教えてください。
  • クッキーを連想配列で扱うためのコードを書きましたが、上手く動作しません。セットされているクッキーの判定と処理方法についてアドバイスを頂けませんか。

質問者が選んだベストアンサー

  • ベストアンサー
  • wish46
  • ベストアンサー率78% (29/37)
回答No.1

他の言語は分かりませんがPHPでの連想配列は $a["0"]["1"] という形になります なので $_COOKIE["mycookie"]["pg4"] でいけるかと。

r_bel
質問者

お礼

ありがとうございました。お礼が遅くなってしまい、大変失礼いたしました。 教えていただいようにやったつもりなのですが、 どこかが間違っているのか、やはり希望の動きにはなりませんでした。 if (isset($_COOKIE["mycookie"]["pg4"])) { //修正箇所 $order = "desc"; // ★ $mycookie = $_COOKIE["mycookie"]["pg4"]; //追加箇所 } else { $order = "asc"; $mycookie = "指定のCOOKIEは存在しないか読み出せません。"; //追加箇所 $expiry = time() + 365 * 24 * 3600; setcookie("mycookie['pg4']",1,$expiry); } ↑では、何度ページを再読み込み直しても、やはりelseの方に行ってしまいます。 ブラウザのメニューのクッキー一覧にはちゃんとmycookie['pg4']というものが存在し、 意図通りの値、1が入っているのですが・・・。 もしかしてsetcookieの方の書き方が悪くて配列として認識されていないということなのでしょうか? http://php.net/manual/ja/function.setcookie.php の例3など、配列全体の存在をチェックしてループで一つ一つを取り出す方法なら色々なところで見かけるのですが、 連想配列をキーで直接指定している例がなかなか見つかりません。 お返事をいただきまして、ありがとうございました。