2010-12-11 64 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以防万一。当然,这个解决方案对于几十个事情来说都是不切实际的。除此之外,你需要某种解析器。