通过自定义函数进行字符串或数组进行排序
代码如下:
<?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);
运行结果如下:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。