小编use*_*830的帖子

为什么PHP用$ _COOKIE中的空格替换加号?

因此,根据我对PHP和cookie的理解,如果我使用该setcookie()函数,那么我会得到一个自动进行url编码的cookie.当我去$_COOKIE数组时,我应该恢复cookie,自动解码url.问题是,当我查看时,似乎是两次解码cookie $_COOKIE.

假设我有一个cookie,其值为"Name | ID | Email",例如:

Joe|123|my+email@somewhere.com

这将被编码为:

乔%7C123%7Cmy%2Bemail%40somewhere.com

注意加号是编码的,所以理论上我应该把它解回来,如果我解码它.由于这是自动完成的$_COOKIE,我应该回到我的开始.但相反,我回来了:

Joe | 123 | my email@somewhere.com

注意曾经是加号的空间.如果我urldecode()在cookie上额外运行,这就是我所期望的.但我不是,所以我不知道为什么我会得到一个空间而不是一个加号.

另一个有趣的转折 页面上的刷新似乎产生了正确的输出.任何想法为什么它的行为像这样?

仅供参考,要设置初始cookie,我使用javascript和escape()脚本来生成编码字符串.这可能是javascript和PHP之间的问题吗?

我们将不胜感激.

php cookies setcookie

19
推荐指数
1
解决办法
7323
查看次数

为什么javascript中的数字键总是排序到开头?

因此,假设我在 javascript 中有如下内容:

object = {"one": 1, "two": 2, "three": 3, "123": 123};
Run Code Online (Sandbox Code Playgroud)

当我遍历这个时,结果是“123”成员跳到了列表的最前面,而其他人的顺序保持不变。如果我做类似以下的事情,

object = {"one": 1, "two": 2, "three": 3, "123 STRING": 123};
Run Code Online (Sandbox Code Playgroud)

维持秩序。所以看起来像一个纯粹的数字键被颠倒了,但一个包含非数字字符的键不是。有谁知道为什么?

javascript sorting properties object

5
推荐指数
1
解决办法
1098
查看次数

标签 统计

cookies ×1

javascript ×1

object ×1

php ×1

properties ×1

setcookie ×1

sorting ×1