Php 在多维关联数组中查找最小值
这是我的阵列:Php 在多维关联数组中查找最小值,php,arrays,multidimensional-array,associative-array,Php,Arrays,Multidimensional Array,Associative Array,这是我的阵列: Array ( [0] => Array ( [price] => 106.060500 [unit] => 2.5900 ) [1] => Array ( [price] => 108.981500 [unit] => 2.1100 ) ) 我想找到的是最低的[价格
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;
}
}
我觉得一定有更简单的方法,或者至少更优雅一点。试试这个:
<?php
foreach ($pricearray as $array){
if (!isset($minarr)) $minarr = $array;
elseif ($array['price'] < $minarr['price']) $minarr = $array;
}
或
数组还是对象数组?usort、Array\U walk?
Array
(
[price] => 106.0605
[unit] => 2.59
)
$minPrice = min(array_column($pricearray, 'price'));
$i = array_filter($pricearray,
function($i) use ($minPrice) { return $minPrice === $i['price']; });
usort($pricearray, function($i1,$i2) { return $i1['price'] - $i21['price']; });
$i = array_shift($pricearray);