2012-10-08 85 views
0

我掙扎在多維數組... 我已經合併爲陣,我應該爲他們分配應作爲一個重要的新值:多維數組鍵reasign

$content = array(); 
$content[0]['text'] = 'xxxxx'; 
$content[0]['order']=1 

$content[1]['text'] = 'yyyy'; 
$content[1]['order']=3 

$content[2]['text'] = 'yyyyddd'; 
$content[2]['order']=2 

我需要通過content ['order']值重新排列這個數組,我在這裏掙扎。

請,我真的需要幫助。

+0

所以你要訂購的頂級陣列,使其尊重孩子的['order']鍵?你想排序的方式是?你有什麼嘗試 – BenM

+0

我試圖重新分配鍵陣列 - 我做過很多次,但今天都不工作:(我只需要顯示它們從低到高 –

回答

2

嘗試使用usort

function sort_orders($a, $b) { 
    if($a['order'] == $b['order']) 
    { 
     return 0; 
    } 
    return ($a['order'] < $b['order']) ? -1 : 1; 
} 

usort($content, "sort_orders"); 
+0

謝謝你快速幫助...我不得不合並兩張不同的表格,結果都非常複雜,以至於我終於找不到解決方案來完成這項任務 - 我之前嘗試過類似的解決方法,沒有任何效果 –

1

你可以用usort()做到這一點,比較功能,像這樣:

function cmp($a, $b) { 
    if ($a['order'] == $b['order']) { 
     return 0; 
    } 
    return ($a['order'] < $b['order']) ? -1 : 1; 
} 

usort($content, 'cmp');