how to know if a $string ends with ','?

if (substr($str, -1) === ',') 
{
 echo 'it is';
}

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

You can use regular expressions for this in PHP:

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

This says to check for a match of a comma at the end of the $string.


There are a few options:

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

Or (slightly less readable):

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

Or (even less readable):

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

Or (even worse yet):

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

Or (wow this is bad):

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

The take away, is just use substr($string, -1) and be done with it. But there are many other alternatives out there...

Tags:

Php