我有一个用这个创建的多维数组:
for($i=0; $i<count($sub_results);$i++)
{
$presenters = array(
'first_name' => $sub_results[$i]['data'][1]['user_value'],
'last_name' => $sub_results[$i]['data'][2]['user_value'],
'preferred_name' => $sub_results[$i]['data'][8]['user_value'],
'organisation' => $sub_results[$i]['data'][11]['user_value'],
'portraitFile' => $portrait_file_path.$portrait,
'Abstract1title' => $sub_results[$i]['data'][19]['user_value'],
'Abstract1accepted' => $sub_results[$i]['data'][18]['user_value'],
'Abstract1synopsis' => $sub_results[$i]['data'][22]['user_value'],
'Abstract1format' => $sub_results[$i]['data'][26]['user_value'],
'Abstract1coauthors' => $sub_results[$i]['data'][20]['user_value'],
'Abstract2title' => $sub_results[$i]['data'][28]['user_value'],
'Abstract2accepted' => $sub_results[$i]['data'][27]['user_value'],
'Abstract2synopsis' => $sub_results[$i]['data'][31]['user_value'],
'Abstract2format' => $sub_results[$i]['data'][30]['user_value'],
'Abstract2coauthors' => $sub_results[$i]['data'][29]['user_value']
);
}
我想通过last_name按字母顺序对结果数组进行排序。这是如何实现的?
提前致谢, emrys
答案 0 :(得分:0)
这应该为你做。它不区分大小写。如果您对其工作原理有任何疑问,请通知我。请记住,usort
通过引用接受数组,这意味着如果要保留原始数组,则需要复制它。
<?php
usort($array,function($a,$b) {
$comparison = strcasecmp($a['last_name'],$b['last_name']);
if ($comparison == 0) return 0;
return ($comparison < 0) ? -1 : 1;
});
?>