Php mb_子字符串不删除非英语字符串末尾的逗号(,)

Php mb_子字符串不删除非英语字符串末尾的逗号(,),php,Php,我有以下代码,正如PHP文档所说,需要“==”进行条件检查。即使使用了以下代码,函数也不会修剪字符串末尾的逗号。我的系统中安装了mbstring注意输入字符串末尾的逗号,我需要平滑地修剪它。我错过什么了吗 $string = "日本語版,"; if (mb_substr($string, -1, 'UTF-8') === ',') { $length = mb_strlen($string, 'UTF-8'); $string = mb_substr($string, 0

我有以下代码,正如PHP文档所说,需要“==”进行条件检查。即使使用了以下代码,函数也不会修剪字符串末尾的逗号。我的系统中安装了mbstring注意输入字符串末尾的逗号,我需要平滑地修剪它。我错过什么了吗

$string = "日本語版,";
if (mb_substr($string, -1, 'UTF-8') === ',')
{
        $length = mb_strlen($string, 'UTF-8');
    $string = mb_substr($string, 0, $length-1, 'UTF-8');
}
echo "Stirng without comma : ".$string;

代码仍然输出为“日本語版," 在不删除逗号的情况下,我发现它无法按预期工作。

您的脚本生成PHP警告,因为缺少第三个参数

mb_substr($string, -1, 'UTF-8')
应该有

mb_substr($string, -1, 1, 'UTF-8')

您的脚本生成PHP警告,因为缺少第三个参数

mb_substr($string, -1, 'UTF-8')
应该有

mb_substr($string, -1, 1, 'UTF-8')

您的脚本生成PHP警告,因为缺少第三个参数

mb_substr($string, -1, 'UTF-8')
应该有

mb_substr($string, -1, 1, 'UTF-8')

您的脚本生成PHP警告,因为缺少第三个参数

mb_substr($string, -1, 'UTF-8')
应该有

mb_substr($string, -1, 1, 'UTF-8')
只需使用:

$trimmed = rtrim($string, ",");
只需使用:

$trimmed = rtrim($string, ",");
只需使用:

$trimmed = rtrim($string, ",");
只需使用:

$trimmed = rtrim($string, ",");


这是否意味着最后一个字符Jiri的位置?没有Jiri,我已经给出了子字符串的开始和结束索引。就像这个mb_substr($string,0,$length-1,'UTF-8')在第二行调用mb_substr(在if语句中)是错误的。函数mb_substr应为第三个参数长度,而不是编码。阅读“否”,您可以看到我已经按照doucument所说的顺序给出了所有字符串、开始、结束和编码。仍然不起作用!噢,谢谢。我在if循环本身中误用了“结束”参数。这是否意味着最后一个字符的定位,Jiri?不Jiri,我已经给出了子字符串的开始和结束索引。就像这个mb_substr($string,0,$length-1,'UTF-8')在第二行调用mb_substr(在if语句中)是错误的。函数mb_substr应为第三个参数长度,而不是编码。阅读“否”,您可以看到我已经按照doucument所说的顺序给出了所有字符串、开始、结束和编码。仍然不起作用!噢,谢谢。我在if循环本身中误用了“结束”参数。这是否意味着最后一个字符的定位,Jiri?不Jiri,我已经给出了子字符串的开始和结束索引。就像这个mb_substr($string,0,$length-1,'UTF-8')在第二行调用mb_substr(在if语句中)是错误的。函数mb_substr应为第三个参数长度,而不是编码。阅读“否”,您可以看到我已经按照doucument所说的顺序给出了所有字符串、开始、结束和编码。仍然不起作用!噢,谢谢。我在if循环本身中误用了“结束”参数。这是否意味着最后一个字符的定位,Jiri?不Jiri,我已经给出了子字符串的开始和结束索引。就像这个mb_substr($string,0,$length-1,'UTF-8')在第二行调用mb_substr(在if语句中)是错误的。函数mb_substr应为第三个参数长度,而不是编码。阅读“否”,您可以看到我已经按照doucument所说的顺序给出了所有字符串、开始、结束和编码。仍然不起作用!噢,谢谢。我在if循环本身中错误地使用了“结束”参数。是的,当然。它只是修剪了指定的字符from字符串右侧您的建议很有用。谢谢。但是为什么我们正在讨论的代码不起作用?对不起,我不知道,我从来没有使用过mb_substr。是的,当然。它只是从字符串右侧修剪指定的字符。您的建议很有用。谢谢。但是为什么我们正在讨论的代码不起作用?对不起,我有不知道,我从未使用过mb_substr。是的,当然。它只是从字符串右侧修剪指定的字符。你的建议很有用。谢谢。但是为什么我们讨论的代码不起作用?对不起,我不知道,我从未使用过mb_substr。是的,当然。它只是从字符串右侧修剪指定的字符。你的建议手势很有用。谢谢。但是为什么我们的代码不起作用呢?对不起,我不知道,我从来没有用过mb_substr。