Php 如何知道$string是否以';结尾';?

Php 如何知道$string是否以';结尾';?,php,Php,可能重复: 如何知道$string的最后一个字符是否为“,”?请参见此处的endsWith函数: 有几个选项: if (substr($string, -1) == ',') { 或(可读性稍差): 或者(更不可读): 或者(更糟糕的是): 或者(哇,这太糟糕了): 外卖就是使用substr($string,-1)并完成它。但是还有许多其他的替代方案……用于微型优化器: $string[strlen($string)-1] == "," 您可以在PHP中为此使用正则表达式: if (pre

可能重复:


如何知道$string的最后一个字符是否为“,”?

请参见此处的endsWith函数:


有几个选项:

if (substr($string, -1) == ',') {
或(可读性稍差):

或者(更不可读):

或者(更糟糕的是):

或者(哇,这太糟糕了):


外卖就是使用substr($string,-1)并完成它。但是还有许多其他的替代方案……

用于微型优化器:

$string[strlen($string)-1] == ","

您可以在PHP中为此使用正则表达式:

if (preg_match("/,$/", $string)) {
    #DO THIS
} else {
    #DO THAT
}

这表示检查$string结尾的逗号是否匹配。

的可能重复。我不会告诉您字符串是否以逗号开头,但我认为您知道如何使用
if
。虽然这不是答案,但可能有人问这个问题的最常见原因是他们想知道是否应该删除逗号;或者他们是否应该添加逗号,或者一个已经存在的逗号。对于这些情况,像
$string=rtrim($string,,')
这样的方法可能是最简单的方法:你不需要知道最后是否有什么东西,then.PHP 8.0为此作业引入了新方法
str_end_with
:应该是注释或CW,因为我们没有发现重复项的名声。现在变成CW:-)将在
$string='
时触发通知。下一票不是我的。@Gordon这实际上很有帮助(当然取决于用例),我认为你的第二个和最后一个没有那么糟糕……我知道这是主观的,但我发现preg_match one是PHP7.1中最可读的,如果($string[-1]==',')你可以使用
if($string[-1]==',')
。它比使用substr()更清晰、更快。
if (substr($string, -1) == ',') {
if ($string[strlen($string) - 1] == ',') {
if (strrpos($string, ',') == strlen($string) - 1) {
if (preg_match('/,$/', $string)) {
if (end(explode(',', $string)) == '') {
$string[strlen($string)-1] == ","
if (preg_match("/,$/", $string)) {
    #DO THIS
} else {
    #DO THAT
}