2012-07-14 73 views
2

的陣列的一個關鍵的最小值我有一個數組是這樣的:PHP獲取陣列

$array = array(
    array('id' => 1, 'quantity' => 10), 
    array('id' => 2, 'quantity' => 25), 
    array('id' => 3, 'quantity' => 38), 
    ... 
); 

我想找到的數組包含量的最小值。我怎麼才能做到這一點只需兩行代碼?! (我更喜歡使用PHP函數)

此外,如果變量是一個對象,它有什麼區別?!

回答

4

像這樣:

usort($array,function($a,$b) {return $a['quantity']-$b['quantity'];}); 
return $array[0]; 

如果需要,創建使用$copy = array_slice($array,0);

-1

對於最小值原始數組的副本:

$min = min(array_map("array_pop",$array)); 
print_r($min); 

對於鍵:

$min = array_keys(array_map("array_pop",$array), min(array_map("array_pop",$array))); 
print_r($min[0]); 
+0

導致E_STRICT err ors:只有變量應該通過引用傳遞(即。到'array_pop')。此外,您的代碼依賴於按照特定順序的關聯數組。 – 2012-07-14 14:17:09

+0

@Kolink,aaahhhhh !!!!,我只在codepast上試過了,最初似乎工作,我們(我)從未停止學習。感謝評論! – 2012-07-14 14:33:29