[英]Sort a multi-dimensional array using PHP
我的數組是這樣創建的:
$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,對數組進行排序?
謝謝!
您可以使用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');
我認為array_multisort()
是您所需要的。 查看PHP文檔
使用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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.