我有像这样的多维数组
(
[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吗?
答案 0 :(得分:2)
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
我想如何获得最小值就足够了。
另一方面,您可以sort一个数组,然后获取第一个和最后一个值:
usort($arr, function($a, $b) {
return ($a['price'] < $b['price']) ?
-1 : (int) !($a['price'] === $b['price']);
});
现在你有一个按价格排序的数组。
答案 1 :(得分:1)
$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;