Compare two strings by comparing the sum of their values (ASCII character code).
For comparing treat all letters as UpperCase.
Null-Strings should be treated as if they are empty strings.
If the string contains other characters than letters, treat the whole string as it would be empty.
Examples:
“AD”,”BC” -> equal
“AD”,”DD” -> not equal
“gf”,”FG” -> equal
“zz1”,”” -> equal
“ZzZz”, “ffPFF” -> equal
“kl”, “lz” -> not equal
null, “” -> equal
Your method should return true, if the strings are equal and false if they are not equal.
function compare($s1, $s2) {
//所有字符全部转化为大写字母
$s1 = strtoupper($s1);
$s2 = strtoupper($s2);
//字符比字母多,视为空字符串
return formatArr(str_split($s1, 1)) == formatArr(str_split($s2, 1));
}
function formatArr($arr = [])
{
$new_arr = [];
$n = 0;
$asii = 0;
foreach($arr as $key => $val)
{
if(ord($val) <= ord('Z') && ord($val) >= ord('A'))
{
$n++;
}
$asii += ord($val);
}
//字符数大于字母数,视为空字符串
if(count($arr) > $n)
{
return ord('');
}
return $asii;
}
class MyTestCases extends TestCase
{
public function testExample() {
$this->assertSame(true, compare("AD", "BC"));
}
}