【问题标题】:select min (lowest) or max (bigest) from array float number从数组浮点数中选择最小值(最低)或最大值(最大值)
【发布时间】:2019-07-31 01:08:20
【问题描述】:

晕人。

可以从数组浮点数中选择最小(最低)或最大(最大)吗?

我尝试了 min(array) 和 max(array) 但不起作用? 我在手册上找不到。

你能帮帮我吗?

数组来自sql

Array ( [0] => 1.11954 ) Array ( [0] => 1.11983 ) Array ( [0] => 1.11854 ) Array ( [0] => 1.11978 ) Array ( [0] => 1.1198 ) Array ( [0] => 1.12024 ) Array ( [0] => 1.11994 ) Array ( [0] => 1.12055 ) Array ( [0] => 1.12106 ) Array ( [0] => 1.12186 ) Array ( [0] => 1.12191 ) Array ( [0] => 1.1214 ) Array ( [0] => 1.12432 ) Array ( [0] => 1.12398 )
 for ($list = 1; $list <= $rezult; $list++)
    {
     $_array=array($rekord['xxx'])
    }
print_r($_array);
$_min=min($_array);
$_max=max($_array);

【问题讨论】:

  • print_r($_array); 上打印的内容是什么?
  • print_r($_array) 是浮点数

标签: php arrays max min


【解决方案1】:

您的问题是您的数组是数组数组,而不是浮点数数组,因此要找到最小/最大值,您实际上需要展平数组,您可以使用array_column:

$flat = array_column($array, 0);
echo min($flat), " ", max($flat);

输出:

1.11854 1.12432

Demo on 3v4l.org

或者,您可以重新编码循环以将值而不是数组推入其中:

for ($list = 1; $list <= $rezult; $list++) {
     $_array[] = $rekord['xxx']
}
echo min($_array) . " " . max($_array);

【讨论】:

  • @dervil,是的,刚刚更仔细地查看了您的代码,并且您每次都通过循环覆盖数组,而不是将新值推入其中。我认为您真正想做的是我在刚刚进行的编辑中添加的代码。
  • 是的,我忘记了这个 [] ,添加后必须使用 array_column 而不仅仅是数组,谢谢
  • @mickmackusa 已清理完毕。
猜你喜欢
  • 2014-10-23
  • 1970-01-01
  • 2016-09-10
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 2014-03-12
  • 2011-12-29
  • 1970-01-01
相关资源
最近更新 更多