PHP中与Java的Character.getNumericValue(char c)等效的函数是什么?

5
3个回答

2

使用intval()函数。

这个函数不能处理字母或罗马数字,但是你可以为这些情况创建自己的方法。不过对于标准数字,它可以正常处理。

if (intval("2") === 2)
  echo("YAY!");

1
intval 确实很有趣。使用 36 进制应该可以处理字母。 - casablanca

0

ord

编辑:哎呀,getNumericValue 不是这个意思。那么答案就是否定的了。你需要自己创建一个表格,将数字字符映射到数字。

如果你想要一个能够处理最常见数字字符的函数,你可以像这样做,但它无法处理特殊的 Unicode 数字:

function getNumericValue($ch) {
  if (ctype_digit($ch))
    return ord($ch) - ord('0');
  if (ctype_upper($ch))
    return ord($ch) - ord('A') + 10;
  if (ctype_lower($ch))
    return ord($ch) - ord('a') + 10;
  return -1;
}

0

不,没有内置的等价物。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接