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

Ton*_*bet 36 php

可能重复:
在PHP中查找字符串中的最后一个字符

嗨,您好?

我怎么知道$ string的最后一个字符是','?

非常感谢?

irc*_*ell 109

有几个选择:

if (substr($string, -1) == ',') {
Run Code Online (Sandbox Code Playgroud)

或者(可读性稍差):

if ($string[strlen($string) - 1] == ',') {
Run Code Online (Sandbox Code Playgroud)

或者(甚至不太可读):

if (strrpos($string, ',') == strlen($string) - 1) {
Run Code Online (Sandbox Code Playgroud)

或者(更糟糕的是):

if (preg_match('/,$/', $string)) {
Run Code Online (Sandbox Code Playgroud)

或者(哇这很糟糕):

if (end(explode(',', $string)) == '') {
Run Code Online (Sandbox Code Playgroud)

带走,只是使用substr($string, -1)并完成它.但还有很多其他选择......

  • 我知道这是主观的,但我发现preg_match是最可读的 (5认同)
  • 我不认为你的第二个最后一个是坏的... (4认同)
  • 从PHP 7.1开始,您可以使用`if($ string [-1] ==',')`.它比使用substr()更清晰,更快捷. (3认同)

Flo*_*ern 10

$string = 'foo,bar,';
if(substr($string, -1) === ','){
    // it ends with ','
}
Run Code Online (Sandbox Code Playgroud)


Ste*_*son 6

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

if (preg_match("/,$/", $string)) {
    #DO THIS
} else {
    #DO THAT
}
Run Code Online (Sandbox Code Playgroud)

这表示要检查$ string末尾的逗号匹配.