2010-09-15 81 views
2

一些數字我有下一個字符串:從PHP字符串

generation_1_2 
generation_2_8 
generation_3_12 

我怎樣才能把這個字符串變量的數字? 例如:

$digit1[0] is 1. 
$digit1[1] is 2. 
$digit1[1] is 3. 
$digit1[0] is 2. 
$digit1[1] is 8. 
$digit1[2] is 12. 

感謝您的幫助。

+2

不知怎的,你的「下一個字符串」不符合你的例子。請明確說明。 – 2010-09-15 10:10:54

+0

它應該是「$ digit1 [2]是3」那它 – nik 2010-09-15 10:14:56

+0

和「$ digit2 [1]是8」? – 2010-09-15 10:17:28

回答

4
function ret_int($str){ 
    return array_slice(explode('_', $str), 1); 
} 
4

如果要提取尾隨號碼,你可以這樣做:

if(preg_match_all('/(\d+)$/m',$input,$m)){ 
    // $m[1] will have all the matches. 
} 

working link

編輯:

回答你編輯的問題,以提取兩個數字:

$digit = array(); 
if(preg_match_all('/(\d+)\D*(\d+)$/m',$input,$m)) { 
     $digit = array_merge($m[1],$m[2]); 
} 

Working link

1

如果你只是想從字符串中提取數字,您可以explode他們像FABRIK寫道($arr = array_slice(explode('_', $str), 1);)。

然後使用intval,將它們中的每一個轉換爲像這樣的整數:$int_a = intval($str_a, 10)其中$str_a是來自數組$arr的一個字符串。