substr_replace和 substr 以获得最后一个字符返回


substr_replace and substr to get last char return �

我试过了:

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)){}