我的数组是这样创建的:
$c3_array[$c3_count]["box"] = $box;
$c3_array[$c3_count]["subseries"] = $subseries;
$c3_array[$c3_count]["foldertitle"] = $foldertitle;
$c3_array[$c3_count]["uri"] = $uri;
如何根据“box”ASC对数组进行排序,然后基于“foldertitle”ASC?
谢谢!
答案 0 :(得分:0)
您可以使用usort并创建自己的比较功能。这是一个简单的例子,可能会也可能不会,取决于数组中的实际值是什么,但它至少应该给你一个想法。
function mysort ($a, $b)
{
if ($a['box'] > $b['box']) return 1;
if ($a['box'] < $b['box']) return -1;
if ($a['foldertitle'] > $b['foldertitle']) return 1;
if ($a['foldertitle'] < $b['foldertitle']) return -1;
return 0;
}
usort($c3_array, 'mysort');
答案 1 :(得分:0)
我认为array_multisort()
就是你所需要的。查看PHP documentation
答案 2 :(得分:0)
使用array_multisort,如示例3所示。
$boxes = array();
$foldertitles = array();
foreach($c3_array as $key => $array) {
$boxes[$key] = $array['box'];
$foldertitles[$key] = $array['foldertitle'];
}
array_multisort($boxes, SORT_ASC, $foldertitles, SORT_ASC, $c3_array);