php中自定义排序数组的第一个字符

时间:2012-02-18 13:58:42

标签: php arrays sorting

我的数组中有以这种格式的值:

01001:Bekir
04007:Jean
06934:Marie
06934:Kevin
06934:Bernard
01495:Silvain
01001:Joli

...

其中“04007:Jean”是一个值

我想为6个第一个字符排序我的数组。例如,使用06934,它会给我:

06934:Kevin
06934:Bernard
01495:Silvain

而不是

06934:Bernard    
06934:Kevin
01495:Silvain

有可能吗?

由于

1 个答案:

答案 0 :(得分:2)

您需要的是usort类型的排序。使用usort,您可以定义自己要使用的比较函数,例如

function first_6_chars_compare( $a, $b ){
    return strcmp( substring( $a, 0, 6 ), substring( $b, 0, 6 ) );
}

$my_array = array(); //
...
usort( $my_array, "first_6_chars_compare" );