可能重複:
a simple function for return number from string in phpPHP:最好的方法來從字符串中提取數字
什麼是最好/最有效的方法來從字符串中提取一組特定的數字?例如:我希望在案例#之後立即得到一組數字,在sring「blah blah Case#004522 blah blah」中。我想像例子#之後的數字字符總是一樣的,但我希望代碼不要像以前那樣做這個假設。
到目前爲止,我一直在使用strpos方法來定位案例#再拉個字符的具體數目後記使用SUBSTR。我只是覺得這很笨重。也許preg_match會更有效或簡化?
$text = "blah blah Case#004552 blah blah";
$find = strpos($text,'Case#');
if ($find)
$numbers = substr($text, $find+5, 6);
'的preg_match('/ \ d + /',$ str,$ match);' - '$ match [0]'將包含字符串中的第一個連續數字組。 – DaveRandom 2012-07-20 14:19:55
取決於您對「最佳」的定義。你的意思是最快嗎?我認爲strpos應該是在另一個字符串中查找特定字符串的最快方法,假設將該數字視爲以字符串開頭(比preg_match快)。 – Rhys 2012-07-20 14:23:39
@Ryven:最佳在該特定情況下是用的preg_match作爲陣列中獲得可能的多個匹配被一個未考慮獎金。 – Brad 2012-07-20 14:34:55