因此,可以說我有一個字符串:如何找到使用PHP的字符串中的前4位數字?
$string = "12, 123, 1234, 12345, 56, 567, 5678";
我只想返回字符串中的第一4位號碼。
我有我可以如何使用做到這一點,例如一些想法:
explode(" ", $string)
,然後也許
substr_count()
但我真的不知道如何返回第4位只有數字,我已經看到一些正則表達式的例子,但我不認爲這適用於這裏,任何指導將不勝感激。
因此,可以說我有一個字符串:如何找到使用PHP的字符串中的前4位數字?
$string = "12, 123, 1234, 12345, 56, 567, 5678";
我只想返回字符串中的第一4位號碼。
我有我可以如何使用做到這一點,例如一些想法:
explode(" ", $string)
,然後也許
substr_count()
但我真的不知道如何返回第4位只有數字,我已經看到一些正則表達式的例子,但我不認爲這適用於這裏,任何指導將不勝感激。
正則表達式演示有這樣的覆蓋:
$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
}
您可以用explode(", ",$string)
爆炸,然後遍歷結果這樣
function first4digit($string){
$nums=explode(", ",$string);
foreach($nums as $num){
if(strlen($num)==4){
return $num;
}
}
}
Here是它
謝謝你的演示scrblnrd3,但是這似乎並沒有工作打算,它只返回「1」作爲結果 – user3097967
@ user3097967哎呦我正在測試它的正則表達式 – scrblnrd3
嘗試新的鏈接 – scrblnrd3
嗨gnack,謝謝你的迴應。這部分工作,除非我錯了它只適用於特定的字符串。例如,我將字符串更改爲:$ string =「12,3456,123,1234,12345,56,567,5678」;它仍然返回1234作爲結果,有什麼想法? – user3097967
如果我用字符串「12,3456,123,1234,12345,56,567,5678」替換「1234string」字符串,那麼上面的代碼版本當然肯定會返回'3456' –
好的很棒,讓我試試看!謝謝你清除 – user3097967