是否有php函数将文本数字转换为数字?例如:转换(“九”)输出9
可能重复:是否有php函数将文本数字转换为数字?例如:转换(“九”)输出9,php,Php,可能重复: 我需要一个函数将文本数字转换为数字。 例如:转换(“九”)输出9 我知道我可以编写一个函数,比如if($number==“one”){$number=1;}等等。。。 但是这将是一个很大的工作。使用switch语句。使用如下查找表: $numbers = array( 'zero' => 0, 'one' => 1, 'two' => 2, 'three' => 3, 'four' => 4, 'five
我需要一个函数将文本数字转换为数字。 例如:转换(“九”)输出9 我知道我可以编写一个函数,比如if($number==“one”){$number=1;}等等。。。
但是这将是一个很大的工作。使用switch语句。使用如下查找表:
$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只是为了以防万一。当然,这个解决方案对于超过几十个的任何东西都是不切实际的。除此之外,您还需要某种类型的解析器。请查看每个数字,或者您是否可以限制可能的数字集(例如0-10)?这将是多少个
大小写s?让我们看看:1,2,3,4,5,6。。。100,...1000, ... 128434520346.... 哦,我太累了,不能再数数了……@Felix Kling:给定一个32位系统,刚好超过20亿。@BoltClock:但我有一个64位系统:-P你可以继续数数……;):这和我以为你想要的0-9很不一样。您正在寻找一个自然语言解析器。我以前没做过。很抱歉