<?php
class AreAnagrams {
public static function areStringsAnagrams($a, $b) {
$a_arr = str_split(strtolower($a));
$b_arr = str_split(strtolower($b));
$az = range('a', 'z');
foreach ($a_arr as $char) {
if (!isset($comp_arr[$char])) {
$comp_arr[$char] = 0;
}
if (in_array($char, $az)) {
$comp_arr[$char]++;
}
}
foreach ($b_arr as $b_char) {
if (!isset($comp_arr[$b_char])) {
return FALSE;
}
if (in_array($char, $az)) {
$comp_arr[$b_char]--;
}
}
if (array_sum($comp_arr) !== 0) {
return FALSE;
}
return TRUE;
}
}
echo AreAnagrams::areStringsAnagrams('neural', 'unreal') ? 'True' : 'False';
echo AreAnagrams::areStringsAnagrams('sample', 'Maples') ? 'True' : 'False';
echo AreAnagrams::areStringsAnagrams('better', 'brttee') ? 'True' : 'False';
echo AreAnagrams::areStringsAnagrams('letter to editor', 'Retorted Toilet') ? 'True' : 'False';
echo AreAnagrams::areStringsAnagrams('letter to editor', 'Delete Riot Trot') ? 'True' : 'False';
echo AreAnagrams::areStringsAnagrams('letter to editor', 'Loitered Totter') ? 'True' : 'False';
- Output for 5.5.0 - 5.5.36, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.23, 8.2.0 - 8.2.10
- TrueTrueTrueFalseFalseFalse
preferences:
88.64 ms | 407 KiB | 5 Q