答案 0 :(得分:16)
这是一招吗?你是否用一些特殊的unicode魔法生成了a's
?我删除了a's
并重新输入了它们,现在两个提醒都显示true
,因为它们应该
答案 1 :(得分:14)
每个a
实际上并不是一个简单的a
。如果您将光标放在其后面并按下Backspace,则删除“something”,然后返回true
。
我复制了您的a
字符串,这是我在运行此代码时得到的结果:
$a='a';
var_dump($a);
string(4) "a"
看到这里有什么问题?字符串长度为4。
此外,这:
echo base64_encode($a);
...返回:
YeKAjA==
对于带有字母a
的简单字符串,它应该只是YQ==
。
额外字符称为"ZERO WIDTH NON-JOINER"。
答案 2 :(得分:6)
对于第一个'a'控制台说:
'a'.charCodeAt(0)
97
'a'.charCodeAt(1)
8204
8204似乎是Zero-width non-joiner
的unicode值虽然是第二个:
'a'.charCodeAt(0)
97
'a'.charCodeAt(1)
NaN
不同的字符串不同是很自然的:)。