2013-10-02 152 views
0

我已經嘗試了一切,但答案可能非常簡單。變量$data['phone']是例如954a23589,我只想讓數字生病讓他們。獲取數組而不是字符串

$phoneW = strval($data['phone']); 
preg_match_all('!\d+!', $phoneW, $matches); 
print_r(array_values($matches)); echo '<br /><br />'; 

輸出是

Array ([0] => Array ([0] => 954 [1] => 23589)) 

我希望他們的大家在一起字符串或INT(無所謂)。

+1

print_r(implode('',array_values($ matches))); – Kuro

回答

7

它可能更容易用一個空字符串替換每個非數字:

$number = preg_replace('/\D+/', '', $phoneW); 
+0

..然後使用'intval($ string)'或'(int)$ string'將其轉換爲一個整數(如果需要的話)。 – h2ooooooo

+0

非常感謝你:d – user2837935

+0

@ h2ooooooo:你可以不投電話號碼爲int,因爲電話號碼是正常長的號碼,可能比'PHP_INT_MAX'大。 –

0

,我想只有數字,所以生病讓他們

爲什麼不能代替一切,一個數字「沒有」?

echo preg_replace('#[^\d]#', '', '954a23589'); 
相關問題