在多维关联数组中找到最小值

时间:2016-05-25 14:46:12

标签: php arrays multidimensional-array associative-array

这是我的阵列:

Array
(
    [0] => Array
        (
            [price] => 106.060500
            [unit] => 2.5900
        )

    [1] => Array
        (
            [price] => 108.981500
            [unit] => 2.1100
        )
)

我想要找到的是最低[价格]值。然后返回[price]和[unit]值以供以后计算。

因此该数组的返回值为:

Array (
 [price] => 106.060500
 [unit] => 2.5900
)

我能想到的唯一方法是:

$i = array();
foreach ($pricearray as $array) {
    array_push($i, $array->price);
}
$minPrice = min($i);
foreach ($pricearray as $array) {
    if ($array->price == $minPrice) {
        $i= $array;
    }
}

我觉得必须有一种更简单的方式,或者至少更优雅。

2 个答案:

答案 0 :(得分:1)

试试这个:

<?php
foreach ($pricearray as $array){
    if (!isset($minarr)) $minarr = $array; 
    elseif ($array['price'] < $minarr['price']) $minarr = $array; 
}

输出$ minarr:

Array
(
    [price] => 106.0605
    [unit] => 2.59
)

答案 1 :(得分:1)

usort($pricearray, function($i1,$i2) { return $i1['price'] - $i21['price']; });
$i = array_shift($pricearray);

src: '<%= pkg.webapp %>/**/*.js',