是否有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很不一样。您正在寻找一个自然语言解析器。我以前没做过。很抱歉