2012-11-16 56 views
0

選擇每個鍵最後一個數組考慮下面的PHP數組我如何在一個多維數組

$a = array(
    array('a'=>'111','b'=>'two','c'=>'asdasd'), 
    array('a'=>'111','b'=>'one','c'=>'sdvsdfs'), 
    array('a'=>'111','b'=>'three','c'=>'vbndfgn'), 
    array('a'=>'222','b'=>'nine','c'=>'dfhfnd') 
); 

我怎麼能只返回每個數組鍵「A」的最後一個陣列?

期望的結果:

$new = array(
    array('a'=>'111','b'=>'three','c'=>'vbndfgn'), 
    array('a'=>'222','b'=>'nine','c'=>'dfhfnd') 
); 
+2

聽起來像一個蹩腳的方式來格式化這個。你能以更多的多維格式獲得它嗎? –

+0

@LeviMorrison:+1。如果可能的話,你可以讓它更像結構的散列表嗎? –

+0

不行,這是它的方式。 – Isius

回答

3

如果我是你,我會嘗試將其存儲在一個更好的格式,使得其檢索更容易一些。但是,如果你被卡住你的格式,然後嘗試:

$a = array(
    array('a'=>'111','b'=>'two','c'=>'asdasd'), 
    array('a'=>'111','b'=>'one','c'=>'sdvsdfs'), 
    array('a'=>'111','b'=>'three','c'=>'vbndfgn'), 
    array('a'=>'222','b'=>'nine','c'=>'dfhfnd') 
); 

$tmp = array(); 
foreach ($a as $value) { 
    $tmp[$value['a']] = $value; 
} 

$new = array_values($tmp); 

print_r($new); 
相關問題