[英]Get min and max group value from multi dimensional array in php
我有這樣的多維數組
(
[0] => Array
(
[date] => 2014-11-05
[price] => 40800.00
)
[1] => Array
(
[date] => 2014-11-05
[price] => 42699.00
)
[2] => Array
(
[date] => 2014-11-07
[price] => 43500.00
)
)
我如何獲得價格和日期的價值,其中價格最低 , 價格最高,在php中?
array_reduce
的最大值:
$result = array_reduce($arr, function($memo, $el) {
if($memo[0] < $el['price']) {
$memo = array($el['price'], $el);
}
return $memo;
}, array(0, null));
echo $result[1]; // contains the maximal element
我想很清楚如何獲得最小值。
另一方面,您可以對數組進行排序 ,然后獲取第一個和最后一個值:
usort($arr, function($a, $b) {
return ($a['price'] < $b['price']) ?
-1 : (int) !($a['price'] === $b['price']);
});
現在,您已按價格數組排序。
$arr=array(
array
(
'date' => 2014-11-05,
'price' => 40800.00
),
array
(
'date' => 2014-11-05,
'price' => 42699.00
)
,
array
(
'date' => 2014-11-07,
'price' => 43500.00
)
);
$temp=0;
foreach($arr as $person) {
$p=$person['price'];
if($temp<$p)
$temp=$p;
}
echo 'Max price: '. $temp;
$t=$arr[0]['price'];
foreach($arr as $person) {
$p=$person['price'];
if($t>$p)
$t=$p;
}
echo "Min price: ".$t;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.