It works if you set the locale correctly:
<?php
setLocale(LC_CTYPE, 'FR_fr.UTF-8');
?>
with this change you will get "yes" "yes"
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_alpha — 检测字母字符
检测提供的 string 类型的 text
里面的所有字符是否都是字母。在标准的
C
语言区域设置中,字母仅仅是指 [A-Za-z]
,并且如果 $text 是单个字符,则
ctype_alpha() 等同于 (ctype_upper($text) ||
ctype_lower($text))
,但是在其他语言中有些字母既不视为大写也不视为小写。
text
要测试的字符串。
注意:
如果给出一个 -128 到 255 之间(含)的int, 将会被解释为该值对应的ASCII字符 (负值将加上 256 以支持扩展ASCII字符). 其它整数将会被解释为该值对应的十进制字符串.
自 PHP 8.1.0 起,弃用传递非字符串参数。未来该参数将解释为字符串而不是 ASCII 码点。根据预期行为,应将参数转为字符串或显式调用 chr()。
如果在当前区域设置中 text
里的每个字符都是字母,那么就返回
true
,否则返回 false
。当使用空字符串调用时,结果始终为 false
。
示例 #1 ctype_alpha() 例子(使用默认的语言环境)
<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
if (ctype_alpha($testcase)) {
echo "The string $testcase consists of all letters.\n";
} else {
echo "The string $testcase does not consist of all letters.\n";
}
}
?>
以上示例会输出:
The string KjgWZC consists of all letters. The string arf12 does not consist of all letters.