首页  >  文章  >  后端开发  >  如何使用 PHP 查找多维数组中的最小值和最大值?

如何使用 PHP 查找多维数组中的最小值和最大值?

Patricia Arquette
Patricia Arquette原创
2024-10-27 04:58:29382浏览

How to Find the Minimum and Maximum Values in a Multidimensional Array Using PHP?

在 PHP 中从多维数组中提取最小值和最大值

给定一个包含嵌套值的数组,获取一个数组的最小值和最大值特定的键可能具有挑战性。考虑以下示例:

<code class="php">$array = 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',
  ),
);</code>

要提取最小和最大权重,存在多种解决方案:

选项 1:

  • 映射数组以将“权重”值提取到新数组 ($numbers) 中。
  • 使用 min() 和 max() 查找最小值和最大值。
<code class="php">$numbers = array_column($array, 'Weight');
$min_value = min($numbers);
$max_value = max($numbers);</code>

选项 2:

  • 对于 5.5 以下的 PHP 版本,使用 array_map() 提取“权重”值。
<code class="php">$numbers = array_map(function($details) {
  return $details['Weight'];
}, $array);
$min_value = min($numbers);
$max_value = max($numbers);</code>

选项 4:

  • 如果只需要最小值或最大值,array_reduce() 会更高效。
<code class="php">$min_value = array_reduce($array, function($min, $details) {
  return min($min, $details['Weight']);
}, PHP_INT_MAX);
$max_value = array_reduce($array, function($max, $details) {
  return max($max, $details['Weight']);
}, -PHP_INT_MAX);</code>

通过利用这些技术,您可以在 PHP 中有效地从多维数组中检索最小值和最大值,帮助您有效地分析和处理数据。

以上是如何使用 PHP 查找多维数组中的最小值和最大值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn