我试过了:
substr($string, 0, -1);
substr_replace($string ,"",-1);
但总是得到
�
而不是我字符串的最后一个字符????
我想比较字符串,而 stringTwo 的最后一个字符总是丢失,所以我试图找到与 substr_replace 或 substr 函数相等的刺痛并删除最后一个字符。
$stringOne = "房子";
$stringTwo = "hous";
我很奇怪,我一次又一次地通过使用子字符串和substr_replace......有了mb_substr我可以删除 ,但是如果我使用 mb_substr 或 substr,如何在做某事之前检查???
如果你正在处理 ascii/bytes,请获取最后一个字节,例如
$last=substr($string,-1,1);
但是如果你的字符串是Unicode,它会稍微复杂一些,使用mb_substr,编码作为最后一个参数,例如UTF-8:
$last=mb_substr($string,-1,1,'UTF-8');
-- 请注意,MBstring 已经被窃听了很长时间,我亲身经历过它在某些笑脸上失败了很长时间(从 5.4 到 5.6~至少,使用来自 dotdeb 的最新 MBstring..,它只会得到用于制作 UTF-8 的 4 个字节中的 2 或 3 个字节 - 不幸的是,我没有任何准备好的样本......有人吗?
要获取字符串的最后一个字符,只需使用 substr 方法即可。子星参数substr(string $string, int $start, [,int $length])
。
这应该得到最后一个字符:
echo substr($string, -1, 1);
若要比较从$stringTwo中删除最后一个字符的两个字符串,可以使用以下命令:
if($stringTwo == substr($stringOne, 0, -1)){}