Теперь превратился в CW :-)

жный дубликат:
Найти последний символ в строке в PHP

всем привет?

Как я могу узнать, является ли последний символ строки $ ','?

большое спасибо?

 Dewi Morgan30 мар. 2018 г., 17:59
Хотя это и не ответ, вероятно, самая распространенная причина, по которой кто-то задает этот вопрос, заключается в том, что он хочет знать, есть ли запятая, которую следует удалить; или, возможно, они должны добавить или запятую, или она уже существует. Для этих случаев что-то вроде$string = rtrim($string, ',') Вероятно, это самый простой путь: вам НЕ НУЖНО знать, есть ли что-то на конце.
 Gordon22 янв. 2011 г., 00:22
Возможный дубликатнайти последний символ в строке в php, Не скажу вам, если строка начинается с запятой, но я понимаю, вы знаете, как использоватьif.

Ответы на вопрос(7)

//$str hold your string
if(substr($str, -1) ==',')
{
   return true
}

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

Это говорит о проверке совпадения запятой в конце строки $.

Для микро оптимизаторов:

$string[strlen($string)-1] == ","
 mario22 янв. 2011 г., 00:31
@Gordon, что очень полезно на самом деле (в зависимости от варианта использования, конечно)
 Gordon22 янв. 2011 г., 00:28
вызовет уведомление, когда$string = '' хотя. downvote не был мной.
Решение Вопроса

Есть несколько вариантов:

if (substr($string, -1) == ',') {

Или (чуть менее читаемый):

if ($string[strlen($string) - 1] == ',') {

Или (даже менее читаемый):

if (strrpos($string, ',') == strlen($string) - 1) {

Или (еще хуже):

if (preg_match('/,$/', $string)) {

Или (вау, это плохо)

if (end(explode(',', $string)) == '') {

Отнять, просто использоватьsubstr($string, -1) и покончим с этим. Но есть много других альтернатив ...

 mastazi21 сент. 2015 г., 02:23
Я знаю, что это субъективно, но я считаю, что preg_match является наиболее читабельным
 Dara Java17 окт. 2013 г., 11:26
Я не думаю, что ваш второй последний так плохо ...
 Nick Rice21 янв. 2018 г., 12:35
Из PHP 7.1 вы можете использоватьif ($string[-1] == ','), Это понятно и быстрее, чем использование substr ().
if (substr($str, -1) === ',') 
{
 echo 'it is';
}
 Michael Berry22 янв. 2011 г., 00:24
Теперь превратился в CW :-)
 Gordon22 янв. 2011 г., 00:23
должен был быть комментарий или CW, потому что мы не получаем репутацию для поиска дубликатов.
$string = 'foo,bar,';
if(substr($string, -1) === ','){
    // it ends with ','
}

Ваш ответ на вопрос