【发布时间】:2019-11-25 17:36:32
【问题描述】:
我在字符串(字符数组)中有一个问题,因为一个字符占据了 3 个位置,这使我的代码产生了意想不到的结果
检查此代码:
<?php
$input1="t’n";
for($i=0;$i<strlen($input1);$i++){
echo $input1[$i] .'<br/>';
}
echo '<br>'.'=================='.'<br>';
$input2='test';
for($i=0;$i<strlen($input2);$i++){
echo $input2[$i] .'<br/>';
}
echo '<br>'.'Strange ===> ';
echo $input1[1].$input1[2].$input1[3];
我们注意到这个字符在将字符串作为字符数组处理时占据 3 个位置,并且三个必须保持在一起才能生成正确的字符。
我在制作一个反转我输入的字符串的代码时遇到这种情况,包含这个字符 例如 t'n => n't 有什么建议吗?
提前致谢
【问题讨论】:
-
您在字符串中检查的撇号似乎是您的文本编辑器识别和处理的不同编码,但您的代码正在使用它的标准编码。我可能没有说最好,但希望你明白我的意思。标准化和清理您的输入,这应该不是问题。
-
谢谢。这是一个未通过此案例的问题解决测试。有没有办法用代码处理这个问题?
-
尝试熟悉搜索php手册。相当有据可查。也许不是最好的方法,但我会尝试一个解决方案。 (也许有人有更好的解决方案)
-
我检查了 php 手册,但没有找到或者我应该搜索什么词?!
-
不知道你有没有在我的回答中看到,但是搜索“编码”,不要害怕阅读很多。如果你这次学到了你不需要的东西,下次你仍然会拥有它。或者按照 Pierre 的描述自己进行逆向工程。(会让你更好地理解)