2011-01-21 94 views
28

可能重複:
Find last character in a string in PHP

喜呢?

我怎麼知道$ string的最後一個字符是','?

非常感謝?

+2

可能重複[在PHP中找到字符串中的最後一個字符](http://stackoverflow.com/questions/4427172/find-last-character-in-a-string-in-php)。不會告訴你該字符串是否以逗號開頭,但我會告訴你如何使用'if'。 – Gordon

+2

[PHP手冊:字符串函數](http://php.net/manual/en/ref.strings.php) –

回答

95

有幾個選項:

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)並完成它。但也有許多其他選擇有...

+4

我不認爲你的第二個最後一個是壞的... –

+4

我知道這是主觀的,但我覺得preg_match一個是最具可讀性的 – mastazi

+0

從PHP 7.1開始,你可以使用'if($ string [-1] ==',')'。這比使用substr()更清晰。 –

3
if (substr($str, -1) === ',') 
{ 
echo 'it is'; 
} 
10
$string = 'foo,bar,'; 
if(substr($string, -1) === ','){ 
    // it ends with ',' 
} 
2
//$str hold your string 
if(substr($str, -1) ==',') 
{ 
    return true 
} 
3

對於微優化:

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

雖然會在'$ string ='''時觸發通知。 downvote wasnt我。 – Gordon

+0

實際上它很有幫助的@Gordon(當然取決於用例) – mario

5

可以在PHP中使用正則表達式是:

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

這說來檢查$字符串末尾的逗號匹配。

相關問題