在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

回到顶部