在没有循环的情况下查找数组中的最小值? (PHP)

时间:2012-07-26 09:38:58

标签: php arrays

我有这个数组:

$myArray = array("0x40x40" => 64, "0x50x40" => 65, "0x60x40" => 66);

现在我想找到smalles值,在这种情况下是64(第一个键/值对)。除了循环遍历数组并比较值之外,还有其他方法吗?最小值并不总是第一个,并且值不按顺序排序。

谢谢!

5 个答案:

答案 0 :(得分:4)

您可以使用min()功能很好地获得答案。

echo min(2, 3, 1, 6, 7); // 1

$myArray=array(2, 3, 1, 6, 7);
echo min($myArray); // 1

答案 1 :(得分:2)

使用min:

$myArray = array(
    "0x40x40" => 64, "0x50x40" => 65, "0x60x40" => 66, "0x70x40" => 67, "0x80x40" => 68, "0x90x40" => 70, "0x100x40" => 71, "0x110x40" => 74, "0x120x40" => 76);

echo min($myArray);

http://codepad.org/NXhfZpBm

答案 2 :(得分:1)

在代码中使用以下语句,您就完成了。

min($myArray);

答案 3 :(得分:0)

将返回#array('0x40x40')

$myArray = array(
        "0x40x40" => 64, 
        "0x50x40" => 65, 
        "0x60x40" => 66, 
        );
    array_keys($myArray, min($myArray));  

答案 4 :(得分:0)

如果您只需要最低或最高值

$myArray = array( "0x40x40" => 64, "0x50x40" => 65, "0x60x40" => 66 ); 
asort ( $myArray );
$item = current( $myArray ); 

这是从最低到最高,反向U需要arsort()函数