2012-07-14 92 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