代码如下:

/*

 * 函数名: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);

运行结果如下: