<?php /* 自定义匹配函数 Version 1*/ function isMatch($string1, $string2) { $array1 = array(); $array2 = array(); // 将字符串分解为数组 for ($i=0; $i<strlen($string1); $i++) $array1[] = $string1[$i]; for ($i=0; $i<strlen($string2); $i++) $array2[] = $string2[$i]; // 将数组转换为元素频度数组 $array1_count = array_count_values($array1); $array2_count = array_count_values($array2); // 将数组按键值升序排序 ksort($array1_count); ksort($array2_count); if ($array1_count == $array2_count) echo 'match success!'; else echo 'match fail!'; } // 测试 isMatch('abcda', 'adabc'); // 打印 'match success!'
<?php /* 自定义匹配函数 Version 2*/ function isMatch($string1, $string2) { // 将字符串分解为数组 $array1 = str_split($string1); $array2 = str_split($string2); // 将数组转换为元素频度数组 $array1_count = array_count_values($array1); $array2_count = array_count_values($array2); if ($array1_count == $array2_count) echo 'match success! '; else echo 'match fail! '; } // 测试 isMatch('abcda', 'adabc'); // 打印 'match success!'