2011-08-26 132 views
-9

Possible Duplicates:
How to sort a multi dimensional array in PHP alphabetically?
PHP : Sort array alphabetically如何按字母順序排列PHP中的數組?

我正在開發一個使用Codeigniter和Phils RESTserver的API。 在此API中,我訪問包含用戶的數據庫。

我想在輸出之前對這些用戶進行排序。 我該怎麼做?我嘗試了下面的代碼,但不起作用。

function sort_by_lastname($a, $b) 
{ 
    return strcmp($a['user']['basic']['lastname'], $a['user']['basic']['lastname']); 
} 

這是我的JSON格式的數據。

http://pastie.org/2402372

如何可以改變上述這種輸出(在PHP陣列格式時,不JSON)排序。

感謝您的幫助!

+5

-1研究。 'array_sort()' –

+1

初學者,你應該比較$ a [...]和$ b [...]。 – Lars

+2

爲什麼不使用數據庫對它們進行排序? –

回答

-2

在問這裏之前檢查PHP.net。快速搜索會止跌回升PHP的asort()功能:http://php.net/asort

+1

真的嗎?你能告訴我們一些示例代碼嗎? – PeeHaa

+0

我不會爲你做你的工作 –

+1

@andy如果你保持這種態度,你將會受到3位數的代表分數的困擾。我們是一個基於示例的社區,對於你所知道的所有OP來說,他都嘗試了在php.net上可以找到的每一種排序功能,並且只是不夠先進,無法通過子數組值對數組進行排序。 「 – AlienWebguy

1
function sort_by_lastname($a, $b) { 
    $a = trim($a['user']['basic'][0]['lastname']); 
    $b = trim($b['user']['basic'][0]['lastname']); 

    if ($a == $b) { 
     return 0; 
    } 

    return ($a < $b) ? -1 : 1; 
} 

uasort($array['contacts'],'sort_by_lastname'); 
+0

+1這實際上起作用:http://pastie.org/2434498 – Maverick

+0

現在變得非常接近。這是數組在轉換爲JSON對象之前的樣子。 http://pastie.org/2435409。我得到這個錯誤:uasort()期望參數1是數組,給出null。 –

+0

我也得到這個錯誤:致命錯誤:不能使用stdClass類型的對象作爲數組。 –