しかし、なぜですか?文字列がそれ自身と等しくない
if ('i' == 'і')
echo 'good';
else
echo 'bad';
エコー:
>> bad
あなたはこのスニペットをコピーしてください。あなたが手でそれを書くと、それは動作します。
私は狂ってしまいます。
しかし、なぜですか?文字列がそれ自身と等しくない
if ('i' == 'і')
echo 'good';
else
echo 'bad';
エコー:
>> bad
あなたはこのスニペットをコピーしてください。あなたが手でそれを書くと、それは動作します。
私は狂ってしまいます。
あなたは卑劣です! 2番目のIは小文字のラテン小文字ではありません。私はそれをhexdumped:
hexdump -C check
00000000 69 66 20 28 27 69 27 20 3d 3d 20 27 d1 96 27 29 |if ('i' == '..')|
00000010 0a 20 20 20 20 65 63 68 6f 20 27 67 6f 6f 64 27 |. echo 'good'|
00000020 3b 0a 65 6c 73 65 0a 20 20 20 20 65 63 68 6f 20 |;.else. echo |
00000030 27 62 61 64 27 3b 20 20 0a 0a |'bad'; ..|
0000003a
私はあなたが素晴らしいtricksy謎:-) D1 96を見てみましょうよ。 1
余分な文字やそこに見えます-似ナンセンス('i' == 'i'
ビット)があり、コードを削除し、:-)
それを再入力します。
視覚('i' != 'і')
を証明する別の方法!ダンプの
<pre style="font-size:700%">
if ('i' == 'і')
echo 'good';
else
echo 'bad';
</pre>
+1これはフォントに依存しますが、たとえばSafariの場合、この回答のコードでは、ズーム時でさえ、私と区別できません。 (フィドルでは、彼らは私のために今は違うように見えますが、これは必ずしもそうではありません。) –
+1、私を超え先生を行ってきました。 –
右のiはユニコード文字U + 0456です。「CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I」です。 http://www.fileformat.info/info/unicode/char/search.htm?q=%D1%96&preview=entity –
入手しました。それはユーザーからの入力であり、英語であったので、他の言語のものではないと思った。 – Qiao