2015-04-22 45 views
1

我的問題是基於這個: How can I get the last 7 characters of a PHP string?如何獲取字符串的最後x個字符,直至達到特定字符?

礦是類似的。我需要得到一個字符串,並停止當我到達最後X字符「 - 」

例如,我有一個預約碼: 的N- 903

,我可以得到的最後3個字符像所以:

$booking_Code = N-903 
$booking_Code = substr($booking_Code, -3); 

,其結果將是:

903 

然而,這數字將增加,所以我希望看到像預訂代碼:

N-1001 
N-22520 
N-201548 

這樣的代碼:

substr($booking_Code, -3); 

將變得毫無用處。有沒有辦法使用「 - 」作爲分隔符?我認爲這是正確的用語。因爲生成的數字總是會在連字符「 - 」後面出現。任何幫助將不勝感激

+1

不要你只是想爆炸的連字符? –

回答

3

試試這個

<?php 
$tmpArray = explode("-",$mystr); 
echo $tmpArray[1]; 

?> 

您可能要參考explode函數在PHP。

+0

現在我覺得自己像個白癡。爲什麼我沒有想到這個! –

1

作爲替代方案,你也可以結合使用strrchrsubstr您有:

$booking_Code = 'N-903'; 
$booking_Code = substr(strrchr($booking_Code, '-'), 1); 
echo $booking_Code; // 903 
+0

我也喜歡這個。如果我的字符串中有多個連字符,這會適用嗎?例如N-07-03-903 我需要最後一個連字符後面的數字! –

+1

@AkiraDawson是的,這將是它的美麗,你仍然會得到最後一個'-'的最後一位數字。 'explode()'也可以覆蓋這個問題,只需使用'end()'。它會得到最後一個分解元素,而不是直接指向索引 – Ghost

相關問題