(PHP 4 >= 4.0.4, PHP 5)
ctype_alpha — Check for alphabetic character(s)
$text
)
Checks if all of the characters in the provided string,
text
, are alphabetic.
In the standard C locale letters are just
[A-Za-z] and ctype_alpha() is
equivalent to (ctype_upper($text) || ctype_lower($text))
if $text is just a single character, but other languages have letters that
are considered neither upper nor lower case.
text
The tested string.
Returns TRUE
if every character in text
is
a letter from the current locale, FALSE
otherwise.
Example #1 A ctype_alpha() example (using the default locale)
<?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.
Note:
如果给出一个 -128 到 255 之间(含)的整数, 将会被解释为该值对应的ASCII字符 (负值将加上 256 以支持扩展ASCII字符). 其它整数将会被解释为该值对应的十进制字符串.
Tyrunur (2009-05-27 02:12:20)
It works if you set the locale correctly:
<?php
setLocale(LC_CTYPE, 'FR_fr.UTF-8');
?>
with this change you will get "yes" "yes"
jerome at yazo dot net (2009-03-14 20:18:54)
worth noticing? It seems that the ctype_alpha family of functions won't handle UTF-8 string (php 5.2.6)
<?php
$texte = 'jér?me';
setLocale(LC_CTYPE, 'FR_fr');
echo 'Pure ascii ? ', (ctype_alpha($texte) ) ? 'yes' : 'no';
echo '<br />';
$texte = iconv( "UTF-8", "ISO-8859-1", $texte) ;
echo 'Letters only ? ' , (ctype_alpha($texte) ) ? 'yes' : 'no';
?>
ouputs :
Pure ascii ? no
Letters only ? yes