2011-02-14 292 views
0

我一直在閱讀的PHP代碼整天,而我似乎無法找到答案,我相信是一個簡單的問題。PHP子字符串正則表達式

我有一個數組滿弦的,我想看看是否在一個字符串的第一個字符是一個數字,然後用它做什麼,例如:

if substr($stringArray[$i],0,1) == regexsomething[0-9]) { do stuff } 

有我這都錯了?

當然,我可以將正則表達式設置爲[^ 0-9]以便在開始時匹配,但PHP preg_match令我大爲困惑。

任何意見都會超級。

感謝

回答

4

外支架,^意思是「開始」,但[之後,它的意思是「顛倒這個全班」。 /[^0-9]/將匹配包含非數字的任何內容。正則表達式匹配一個單一的數字是:

/^[0-9]$/ 

PHP已經有這樣的功能,但:is_numeric()

if (is_numeric(substr($stringArray[$i],0,1))) { do stuff } 

如果你想要去的正則表達式的路線,你將不再需要獲得第一個字符。匹配任何以數字開頭的正則表達式是:

if (preg_match('/^[0-9]/', $stringArray[$i])) { do stuff } 
+0

對不起,這就是我的意思,錯字上的位置^。謝謝蒂姆! – Tony 2011-02-14 13:26:08

+0

`is_numeric($ stringArray [$ i],0,1)`無效,`is_numeric`只需要1個參數! – RobertPitt 2011-02-14 13:48:41

0

如果你wnat確保字符串是一個數字,你可以使用is_numeric像這樣:

if(is_numeric($string)) 
{ 
    //Do Something 
} 

如果你想確保它是一個單一的數字像7可以使用<小於操作

if(is_numeric($string) && $string < 10) 
{ 
    //Do Something 
} 
相關問題