为了满足某个项目的需求,写了个数字字母混排排序功能!不是很简洁,但是可以做个参考。
/**
* 数字字符串比较函数
*
* @param <type> $f_cp
* @param <type> $l_cp
* @return <type>
*/
function cmp($f_cp,$l_cp)
{
$f_cp = strtoupper($f_cp);
$l_cp = strtoupper($l_cp);
$f_cp_ary = str_split($f_cp);
$l_cp_ary = str_split($l_cp);
$f_len = count($f_cp_ary);
$l_len = count($l_cp_ary);
foreach($f_cp_ary as $index=>$char)
{
$l_tmp_char = isset($l_cp_ary[$index]) ? $l_cp_ary[$index] : null;
if(is_null($l_tmp_char)) return 1;
if($char == $l_cp_ary[$index]) continue;
if(isNumber($char) && isNumber($l_cp_ary[$index]))//处理2个都是数字的特殊情况 直到后面一位不是数字
{
$f_nber = getArrayCurrIndexAfterAllNumber($f_cp_ary, $index);
$l_nber = getArrayCurrIndexAfterAllNumber($l_cp_ary, $