2010-06-12 96 views
0

我有一个数组,其元素是name,reversed_name,first_initial和second_initial。一个典型的行是“亚伦史密斯”,“史密斯,亚伦”,“一个”,“S”。数组中的每一行都有一个first_initial或second_initial值“a”。基于不同的值在PHP中对数组进行排序

我需要按字母顺序显示行,但基于“a”部分,以便显示名称或reversed_name。一个例子输出为:

  • 艾伦·史密斯
  • 住持,保罗
  • 阿德里安·琼斯
  • 安妮塔·汤普森
  • 阿瑟顿,苏珊

我真的不知道如何排序这样的阵列,所以任何帮助将不胜感激!

+0

你为什么要这样做,而不是让用户能够按姓或名排序? – Entendu 2010-06-12 00:19:48

回答

0

如果你有一个自定义排序标准,使用usort

function Sorter($e1, $e2) 
{ 
    return strcmp($e1['first_initial'], $e2['first_initial']); 
} 

usort($array, "Sorter"); 

strcmp是比较字符串,返回排序中使用了适当的INT码功能十分方便。

相关问题