📅  最后修改于: 2023-12-03 15:03:38.957000             🧑  作者: Mango
IntlChar::isdigit()
是 PHP 中一个用于判断一个 Unicode 字符是否为数字的函数,返回值为布尔类型(true
或者 false
),如果给定字符是数字则返回 true
,否则返回 false
。
该函数属于 PHP Internationalization Functions 扩展模块的一部分,它提供了一组用于 Unicode 字符处理的函数。
bool IntlChar::isdigit ( mixed $codepoint )
$codepoint
:必选参数。一个 Unicode 字符的码点值(代码点),可以是整数、十进制或十六进制字符串,也可以是一个字符。
如果给定字符是数字,则返回 true
,否则返回 false
。
<?php
var_dump(IntlChar::isdigit("0")); // 输出:bool(true)
var_dump(IntlChar::isdigit("a")); // 输出:bool(false)
var_dump(IntlChar::isdigit("汉")); // 输出:bool(false)
var_dump(IntlChar::isdigit("?")); // 输出:bool(false)
?>
在上面的示例中,我们使用 IntlChar::isdigit()
函数来判断一个字符是否为数字。其中,"0"
是数字,输出为 true
; ”a”
、"汉"
和 "?"
都不是数字,输出为 false
。
<?php
$codepoint = IntlChar::ord('①');
var_dump($codepoint); // 输出:int(10102)
var_dump(IntlChar::isdigit($codepoint)); // 输出:bool(true)
?>
在上面的示例中,我们使用 IntlChar::ord()
函数将一个字符 "①"
转换成了其 Unicode 码点值(代码点),即 10102
,然后使用 IntlChar::isdigit()
函数来判断其是否为数字。结果输出为 true
。
IntlChar::isdigit()
函数只能辨别出 Unicode 标准定义的“数字”字符。对于一些看起来如数字的字符,其实不在 Unicode 的“数字”范畴中,如罗马数字 Ⅰ
、Ⅱ
、Ⅲ
等。因此,如果需要判断这些字符是否为数字,需要使用其他函数或者正则表达式。
IntlChar::isdigit()
的参数必须是单个字符或一个 Unicode 码点值,不能传入数组或者字符串等集合类型。如果需要判断一个字符串中的每个字符是否为数字,需要使用循环或者正则表达式等函数。