在PHP数组中获取最小值和最大值
我有一个像这样的数组:
array (0 => array (
'id' => '20110209172713',
'Date' => '2011-02-09',
'Weight' => '200',
),
1 =>
array (
'id' => '20110209172747',
'Date' => '2011-02-09',
'Weight' => '180',
),
2 =>
array (
'id' => '20110209172827',
'Date' => '2011-02-09',
'Weight' => '175',
),
3 =>
array (
'id' => '20110211204433',
'Date' => '2011-02-11',
'Weight' => '195',
),
)
我需要提取最小和最大的权重值。在这个例子中
$ min_value = 175
$ max_value = 200
有什么帮助吗?谢谢 !
回答:
首先,您映射该数组以获取这些数字(而不是全部详细信息):
$numbers = array_column($array, 'weight')
然后得到最小和最大:
$min = min($numbers);$max = max($numbers);
(仅当您没有PHP 5.5或更高版本时)与选项1相同,但要选择值,请使用array_map
:
$numbers = array_map(function($details) { return $details['Weight'];
}, $array);
选项3。
如果您只需要一个最小值或最大值,则array_reduce()
可能会更快:
$min = array_reduce($array, function($min, $details) { return min($min, $details['weight']);
}, PHP_INT_MAX);
这会执行更多min()
的操作,但是速度非常快。该PHP_INT_MAX
是具有高启动,并得到越来越低。您可以这样做$max
,但您将从0
或开始-PHP_INT_MAX
。
以上是 在PHP数组中获取最小值和最大值 的全部内容, 来源链接: utcz.com/qa/430344.html