好玩的线上检测代码工具-codewars(5)

来源:互联网 发布:js date 字符串转日期 编辑:程序博客网 时间:2024/05/22 06:48

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"));    }}