2016-03-03 50 views
0

組陣列我有一個數組,我需要用相同的ID [id_promo]或[名]進行分組,如果可能的所有名稱的所有項目由alfabetic順序進行排序如何通過價值

我的數組是:

Array ( 
[0] => Array ([nome] => 0012 – Inês Marinho Lopes [id_promo] => 1897 [foto] => 1898 [entrega] => 12/03/2016 [devoluçao] => 18/03/2016 [devolvido] => Não) 
[1] => Array ([nome] => 0015 – Daniela Palhares [id_promo] => 1912 [foto] => 1913 [entrega] => 30/03/2016 [devoluçao] => 29/03/2016 [devolvido] => Não) 
[2] => Array ([nome] => 0031 – Cláudia Fonseca [id_promo] => 2026 [foto] => 2027 [entrega] => [devoluçao] => [devolvido] => Não) 
[3] => Array ([nome] => 0015 – Daniela Palhares [id_promo] => 1912 [foto] => 1913 [entrega] => 30/03/2016 [devoluçao] => 29/03/2016 [devolvido] => Não) 
) 

,我需要他們這樣的分組:

Array ( 
[0] => Array ([nome] => 0031 – Cláudia Fonseca [id_promo] => 2026 [foto] => 2027 [entrega] => [devoluçao] => [devolvido] => Não ) 
[1] => Array ([nome] => 0015 – Daniela Palhares [id_promo] => 1912 [foto] => 1913 [entrega] => 30/03/2016 [devoluçao] => 29/03/2016 [devolvido] => Não) 
[2] => Array ([nome] => 0015 – Daniela Palhares [id_promo] => 1912 [foto] => 1913 [entrega] => 30/03/2016 [devoluçao] => 29/03/2016 [devolvido] => Não) 
[3] => Array ([nome] => 0012 – Inês Marinho Lopes [id_promo] => 1897 [foto] => 1898 [entrega] => 12/03/2016 [devoluçao] => 18/03/2016 [devolvido] => Não) 
) 

我嘗試了一些的foreach組合,但我不能讓它工作...

TKS

+0

一個詳細的文件如果我理解你的榜樣正確的,你不需要改變陣列的結構,只是將其歸類到正確的順序。如果是這樣,請參閱[這個參考答案](http://stackoverflow.com/a/17364128/157957)。 – IMSoP

+0

[我怎麼能進行排序在PHP陣列和數據?(http://stackoverflow.com/questions/17364127/how-can-i-sort-arrays-and-data-in-php) – IMSoP

回答

0

您可以使用該方法uasort有一個回調函數結合

$arr = Array(); //This is your base array 
function compare($a, $b) { 
    if ($a['nome'] == $b['nome']) { 
     return 0; 
    } 
    return ($a['nome'] < $b['nome']) ? 1 : -1; 
} 

usort($arr, 'compare'); 

這將整理您的數組僅在[nome]鍵上。我想你應該嘗試這種增強與[id_promo]和/或[名]的工作。

你可以找到usort

+0

TKS Unex公司奏效 –

0

你可以嘗試這樣的事情:

$newArray = Array(); 
foreach($oldArray as $key => $item) 
{ 
    $newArray[$item['id_promo']][$key] = $item; 
} 

ksort($newArray, SORT_NUMERIC); 

參考了ksort()

+0

TKS爲可能的複製數組([2026] =>數組([6] =>數組([nome] => 0031 - CláudiaFonseca => ..而不是[0] => Array([nome] => 0031 - 克勞迪亞·豐塞卡 –