2010-12-11 69 views
0

可能重複:
Converting words to numbers in PHP有沒有任何PHP函數將文本數字轉換爲數字?例如:轉換( 「九」)輸出9

我需要一個函數來文本數字轉換成數字。例如:轉換(「九」)輸出9

我知道我可以寫一個函數,例如如果($數字==「一」){$數字= 1; }等... 但這將是很多工作。

+0

參見http://stackoverflow.com/questions/1077600/converting-words-to-numbers-in-php – 2010-12-11 22:06:13

+0

對於每一個數字或可以限制該組可能的數字(例如0-10)的? – 2010-12-11 22:12:20

+0

非常感謝你 – kheom 2010-12-11 22:12:29

回答

0

使用switch語句。

+0

這會是多少個案例?讓我們看看:1,2,3,4,5,6 ... 100,... 1000,... 128434520346 ....哦,我太累了,沒有進一步的數字... – 2010-12-11 22:10:58

+0

@Felix Kling:給定一個32位系統,超過20億。 – BoltClock 2010-12-11 22:12:42

+0

@BoltClock:但我有一個64位系統:-P *你*可以繼續計數....;):D – 2010-12-11 22:13:15

0

使用一個查找表是這樣的:

$numbers = array(
    'zero' => 0, 
    'one' => 1, 
    'two' => 2, 
    'three' => 3, 
    'four' => 4, 
    'five' => 5, 
    'six' => 6, 
    'seven' => 7, 
    'eight' => 8, 
    'nine' => 9 
); 

$digit = strtolower($digit); 

if (isset($numbers[$digit])) { 
    $digit = $numbers[$digit]; 
} 

注意我用用strtolower以防萬一。當然,這個解決方案對於幾十個事情來說都是不切實際的。除此之外,你需要某種解析器。