是否有PHP等价于Java的Character.getNumericValue(char c)
的函数?
使用intval()
函数。
这个函数不能处理字母或罗马数字,但是你可以为这些情况创建自己的方法。不过对于标准数字,它可以正常处理。
if (intval("2") === 2) echo("YAY!");
编辑:哎呀,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;
}
不,没有内置的等价物。
intval
确实很有趣。使用 36 进制应该可以处理字母。 - casablanca