Home:ALL Converter>What is best way to test uppercase or lowercase type of a given character in php?

What is best way to test uppercase or lowercase type of a given character in php?

Ask Time:2019-05-04T01:54:22         Author:RT.01100111

Json Formatter

What is an ideal way to detected if a character is uppercase or lowercase, regardless of the fact of the current local language.

Is there a more direct function?

Assumptions: Set internal character encoding to UTF-8 & Local browser session is en-US,en;q=0.5 & Have installed Multibyte String extension. Do not use ctype_lower, or ctype_upper.

See below test code that should be multibyte compatible.

$encodingtype = 'utf8';
$charactervalue = mb_ord($character, $encodingtype);

$characterlowercase = mb_strtolower($character, $encodingtype) ;
$characterlowercasevalue = mb_ord(mb_strtolower($character, $encodingtype));

$characteruppercase = mb_strtoupper($character, $encodingtype);
$characteruppercasevalue = mb_ord(mb_strtoupper($character, $encodingtype));



// Diag Info
echo 'Input: ' . $character . "<br />";
echo 'Input Value: ' . $charactervalue = mb_ord($character, $encodingtype) . "<br />" . "<br />";
echo 'Lowercase: ' . $characterlowercase = mb_strtolower($character, $encodingtype) . "<br />";
echo 'Lowercase Value: ' . $characterlowercasevalue = mb_ord(mb_strtolower($character, $encodingtype)) . "<br />" . "<br />";
echo 'Uppercase: ' . $characteruppercase = mb_strtoupper($character, $encodingtype) . "<br />";
echo 'Uppercase Value: ' . $characteruppercasevalue = mb_ord(mb_strtoupper($character, $encodingtype)) . "<br />" . "<br />";
// Diag Info


if ($charactervalue == $characterlowercasevalue and $charactervalue != $characteruppercasevalue){
    $uppercase = 0;
    $lowercase = 1;
    echo 'Is character is lowercase' . "<br />" . "<br />";
}

elseif ($charactervalue == $characteruppercasevalue and $charactervalue != $characterlowercasevalue ){
    $uppercase = 1;
    $lowercase = 0;
    echo 'Character is uppercase' . "<br />" . "<br />";
}

else{
    $uppercase = 0;
    $lowercase = 0;
    echo 'Character is neither lowercase or uppercase' . "<br />" . "<br />";
}
  • // Test 1 A // Output-> Character is uppercase
  • // Test 2 z // Output-> Character is lowercase
  • // Test 3 + // Output-> Character is lowercase
  • // Test 4 0 // Output-> Character is neither lowercase or uppercase
  • // Test 5 ǻ // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE // Output-> Character is lowercase
  • // Test 6 Ͱ GREEK CAPITAL LETTER HETA // Output-> Character is uppercase
  • // Test 7 '' NULL // Output-> Character is neither lowercase or uppercase

Author:RT.01100111,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/55974931/what-is-best-way-to-test-uppercase-or-lowercase-type-of-a-given-character-in-php
yy