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


Finding the smallest value in an array without looping through? (PHP)

我有这个数组:

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

现在我想找到smalles值,在本例中是64(第一个键/值对)。除了在数组中循环并比较值之外,还有其他方法吗?最小的值并不总是第一个,而且这些值也不按顺序排序。

谢谢!

您可以使用min()函数很好地得到答案。

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

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

使用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

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

min($myArray);

将返回#array('0x40x40')

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

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

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

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