how to know if a $string ends with ','?
Possible Duplicate:
Find last character in a string in PHP
你好?
我怎么知道$string的最后一个字符是','?
谢谢?
- php中字符串中find last字符可能重复。不会告诉你字符串是否以逗号开头,但我认为你知道如何使用if。
- PHP手册:字符串函数
- 虽然不是答案,但可能有人会问这个问题的最常见原因是他们想知道是否应该删除逗号;或者他们应该添加逗号还是逗号,或者已经存在一个逗号。对于这些情况,像$string = rtrim($string, ',')这样的东西可能是最简单的途径:那么,您不需要知道是否有什么东西在最后。
有几个选项:
1
| if (substr($string, -1) == ',') { |
或(可读性稍差):
1
| if ($string[strlen($string) - 1] == ',') { |
或者(甚至更不可读):
或者(更糟的是):
或者(哇,这很糟糕):
外卖,只需使用substr($string, -1)就可以了。但是还有很多其他的选择…
- 我不认为你的第二个最后一个是那么糟糕…
- 我知道这是主观的,但我发现preg-match-one是最易读的。
- 从php 7.1可以使用if ($string[-1] == ',')。它比使用substr()更快更清晰。
1 2 3 4
| $string = 'foo,bar,';
if(substr($string, -1) === ','){
// it ends with ','
} |
您可以在php中使用正则表达式:
1 2 3 4 5
| if (preg_match("/,$/", $string)) {
#DO THIS
} else {
#DO THAT
} |
这表示检查$string末尾的逗号是否匹配。
1 2 3 4
| if (substr($str, -1) === ',')
{
echo 'it is';
} |
对于微优化器:
1
| $string[strlen($string)-1] =="," |
- 但当$string = ''时会触发通知。投反对票的不是我。
- @Gordon实际上非常有用(当然,这取决于用例)
1 2 3 4 5
| //$str hold your string
if(substr($str, -1) ==',')
{
return true
} |
请参见此处的endswith函数:
PHP中的startswith()和endswith()函数
- 应该是评论或CW,因为我们找不到重复的名声。
- 现在变成了连续波