📅  最后修改于: 2023-12-03 15:33:33.923000             🧑  作者: Mango
IntlChar isdefined() 函数用于判断一个字符是否被定义。如果字符被正式定义,将返回 true;如果字符未被正式定义,返回 false。
该函数属于 PHP 中的 Intl 扩展。
IntlChar::isdefined( mixed $codepoint ) : bool
名称 | 必需 | 类型 | 描述 ----|------|------|----- codepoint | 必需 | mixed | 要判断的字符,可以是 UTF-8 字符串、UTF-16 字符串或 Unicode 码位号。
布尔类型。如果传入的字符被正式定义,则返回 true;如果字符未被正式定义,则返回 false。
<?php
$char1 = "A";
$char2 = "☃";
$char3 = "\u{20000}";
var_dump(IntlChar::isdefined($char1)); // true
var_dump(IntlChar::isdefined($char2)); // true
var_dump(IntlChar::isdefined($char3)); // true
?>
以上示例中,我们分别定义了三个字符:一个英文字母 A、一个雪花字符 ☃ 和一个 Unicode 码位号为 U+20000 的字符。
我们使用 IntlChar isdefined() 函数来判断每个字符是否被正式定义,得到的结果都为 true,即这三个字符都是被正式定义的。
<?php
$char1 = "\u{E0065}"; // 第 2 平面中的一个古喻符号
if (IntlChar::isdefined($char1)) {
echo "字符 $char1 存在于 Unicode 标准中。";
} else {
echo "字符 $char1 不存在于 Unicode 标准中。";
}
?>
以上示例中,我们定义了一个在 Unicode 标准中属于“古喻符号”之类的字符 \u{E0065}。
我们使用 IntlChar isdefined() 函数来判断这个字符是否被正式定义,由于该字符不是标准字符,所以返回的结果为 false,即该字符不存在于 Unicode 标准中。