我的代码中有以下内容:
$my_count = count($total_elements[$array_object]);
$my_count
现在包含 $total_elements[$array_object]
中元素的数量。我想把这个数转换成它对应的自然数(零,一,二,...)
在这种特定情况下,我只有 5 个数字:
$numbers = array(
2 => 'two',
3 => 'three',
4 => 'four',
5 => 'five',
6 => 'six',
);
如何检索给定数组中元素的数量,然后从数组中echo
相应的自然数(人类可读的数字)?或者更好 - 有更好的方法吗?
(我已经找到了一些 functions 或 classes 来做到这一点 - 但现在对于我现在需要的简单案例来说,它们太臃肿了)
现在,我当然可以使用 switch()
来做到这一点:
switch ($my_count) {
case 0:
echo "zero";
break;
case 1:
echo "one";
break;
case 2:
echo "two";
break;
// etc...
}
但它对我来说看起来很不优雅。如果一个人有超过 10 个数字,那也很愚蠢。
我确信有一种更优雅的方法可以实现这一点,尽管现在我只有 5 个数字,但我希望有一些函数可以在其他情况下重复使用。
(如果这是一个愚蠢的问题,我很抱歉 - 但是 - 使用关键字 PHP
在 SE 或 Google 上搜索这里 - words
和 count()
我只找到了与计算字符串中的单词相关的答案)
最佳答案
Pear 有一个数字词包。 检查一下 pear Number_word
$numbers = new Number_Words();
echo $number->toWords(200);
对你有帮助
编辑
您可以使用 NumberFormatter PHP 类。
$f = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $f->format(200);
它将输出“200”
关于Php - 以单词形式返回 count(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20309146/