如:
a
acb
abc
aca
aaaa
能排成:
a,aaaa,abc,aca,acb
也就是说a排前面,z是最后,第一个字母从a-z,第二个第三个都无限从a-z的顺序排列.
PHP英文排序

解决方案 »

  1.   

    这个需求比较另类$a = array(
      'a',
      'acb',
      'abc',
      'aca',
      'aaaa',
    );$m = max(array_map('strlen', $a));
    foreach($a as $v) {
      $c = substr($v, -1);
      $t[] = str_pad($v, $m, $c);
    }
    array_multisort($t, $a);
    print_r($a);
    Array
    (
        [0] => a
        [1] => aaaa
        [2] => abc
        [3] => aca
        [4] => acb
    )
      

  2.   


    为什么不可以直接用sort排?
      

  3.   

    系统函数就可以啊$arr = array(
    'a',
    'acb',
    'abc',
    'aca',
    'aaaa'
    );
    sort($arr);print_r($arr);