账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PHP读取JSON格式的Cookie时,转义符号删不掉?
    35
    0

    我的Cookie是这样的:

    cookie={"key":"V0tRTVF=","uid":"2","username":"测试"}

    我想让PHP接收这些参数。按道理说,PHP后台获取,再转下码就可以。

    但我发现$_COOKIE["cookie"]获得的值是这样的:

    {\"cookie\":\"V0tRTVF=\",\"uid\":\"2\",\"username\":\"测试\"}

    被转义了?这倒无所谓,stripslashes或者正则就可以删掉斜线了吧?
    结果——删不掉!


    【19:09更新】刚才听大神告诉我,原来这只是前端的显示问题。其实PHP里,是没有转义符存在的!
    经我的测试,直接json_decode($cookie, true);转化就可以。
    但我还是不知道为啥,前端会多显示一个\。。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 藍了天白赴美 普通会员 1楼

      在PHP中,可以使用json_decode()函数将JSON格式的Cookie转换为PHP数组,然后使用isset()函数检查数组是否存在。如果存在,说明JSON格式的Cookie被成功读取,那么可以使用json_encode()函数将数组转换为JSON格式的字符串。

      以下是一个示例:

      ```php $json = '{"name":"John", "age":30, "city":"New York"}';

      $array = json_decode($json, true);

      if (isset($array['name'])) { echo "Name: " . $array['name']; } else { echo "Cookie not found."; } ```

      在这个示例中,我们首先使用json_decode()函数将JSON格式的Cookie转换为PHP数组。然后,我们使用isset()函数检查数组是否存在。如果存在,我们使用json_encode()函数将数组转换为JSON格式的字符串。最后,我们输出JSON格式的字符串。

      注意,json_decode()函数的第二个参数是true,表示解码时将JSON对象转换为PHP对象。如果你不提供这个参数,那么json_decode()函数将将JSON字符串转换为PHP数组。

      此外,如果你的Cookie使用了反斜杠字符,那么在使用json_decode()函数之前,你需要先使用转义字符转义这些字符。你可以使用反斜杠字符作为转义字符,例如\\

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部