2014-01-15 13 views
-2

因此,可以說我有一個字符串:如何找到使用PHP的字符串中的前4位數字?

$string = "12, 123, 1234, 12345, 56, 567, 5678"; 

我只想返回字符串中的第一4位號碼。

我有我可以如何使用做到這一點,例如一些想法:

explode(" ", $string) 

,然後也許

substr_count() 

但我真的不知道如何返回第4位只有數字,我已經看到一些正則表達式的例子,但我不認爲這適用於這裏,任何指導將不勝感激。

回答

2

正則表達式演示有這樣的覆蓋:

$results = array(); 
preg_match('/[0-9]{4}/', '1234string', $results); 

然後您的比賽將存儲在$ results [0]

編輯:修正了編碼錯誤。

你可以這樣檢查匹配:

$results = array(); 
if (preg_match('/[0-9]{4}/', '12,3456, 123, 1234, 12345, 56, 567, 5678', $results)) 
{ 
    // stuff to do if true 
} 
else 
{ 
    // stuff to do if false 
} 
+0

嗨gnack,謝謝你的迴應。這部分工作,除非我錯了它只適用於特定的字符串。例如,我將字符串更改爲:$ string =「12,3456,123,1234,12345,56,567,5678」;它仍然返回1234作爲結果,有什麼想法? – user3097967

+0

如果我用字符串「12,3456,123,1234,12345,56,567,5678」替換「1234string」字符串,那麼上面的代碼版本當然肯定會返回'3456' –

+0

好的很棒,讓我試試看!謝謝你清除 – user3097967

0

您可以用explode(", ",$string)爆炸,然後遍歷結果這樣

function first4digit($string){ 
    $nums=explode(", ",$string); 
    foreach($nums as $num){ 
     if(strlen($num)==4){ 
      return $num; 
     } 
    } 
} 

Here是它

+0

謝謝你的演示scrblnrd3,但是這似乎並沒有工作打算,它只返回「1」作爲結果 – user3097967

+0

@ user3097967哎呦我正在測試它的正則表達式 – scrblnrd3

+0

嘗試新的鏈接 – scrblnrd3

相關問題