代码如下:
<?php
/*
* 函数名:customComp
* 说明:参数比较
*/
function customComp($a,$b){
// 返回字符串的首个字符的 ASCII 值
$a=ord($a);
$b=ord($b);
$res=$a > $b;
return $res;
}
/*
* 函数名:dictSort
* 说明:自定义排序
* @params strs 字符串
*/
function dictSort($strs){
$flag = true;
if (!is_array($strs)) {
$flag = false;
// 把字符串分割到数组中
$arr = str_split($strs);
}else{
$arr = $strs;
}
// 通过用户自定义的比较函数对数组进行排序。arr数组名称,customComp自定义排序函数名
// 如果第一个参数小于等于或大于第二个参数,那么比较函数必须返回一个小于等于或大于 0 的整数
usort($arr,'customComp');
if ($flag) {
return $arr;
}
// 将数组转换为字符串
return implode("",$arr);
}
// 对字符串进行排序
$str = "cdab";
$result=dictSort($str);
var_dump($result);
// 对数组进行排序
$str1 = array(3,5,1,2);
$result=dictSort($str1);
var_dump($result);
运行结果如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。