为了账号安全,请及时绑定邮箱和手机立即绑定

如何从MySQL查询中计算关联数组的中值?

如何从MySQL查询中计算关联数组的中值?

PHP
一只萌萌小番薯 2021-04-05 12:14:13
我得到了一个使用值的关联数组,fetchAll(PDO::FETCH_ASSOC) 并且得到了以下数组:Array ( [0] => Array ( [value] => 12.00000 ) [1] => Array ( [value] => 12.00000 ) [2] => Array ( [value] => 1001.00000 ) [3] => Array ( [value] => 1001.00000 ) [4] => Array ( [value] => 1.00000 ) [5] => Array ( [value] => 101.00000 ) [6] => Array ( [value] => 155.00000 ) [7] => Array ( [value] => 100.00000 ) [8] => Array ( [value] => 100.14300 ) [9] => Array ( [value] => 10123.12000 ) )如何获得中位数?我不能只使用arsort并获取中间值,因为它是数组中的一个数组,并且卡住了怎么做?编辑:我尝试使用array_column($array, 'value'),现在它提取了值,然后使用asort了以下输出:Array ( [4] => 1.00000 [0] => 12.00000 [1] => 12.00000 [7] => 100.00000 [8] => 100.14300 [5] => 101.00000 [6] => 155.00000 [2] => 1001.00000 [3] => 1001.00000 [9] => 10123.12000 )因此,问题在于asort确实对数组进行了排序,但仅对输出进行了排序,但实际上并未对数组进行排序,因此,例如,在我的情况下,$array[0]不是最小值(1.0000),而是实际上的原始值12.00000。我想念什么?
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

value使用以下命令从数组中提取字段:


$values = array_column($array, 'value');

// now `sort` and do what you need

arsort($values);

arsort 对数组进行排序。如果您打开手册,将会看到arsort


对数组进行排序,以使数组索引与其关联的数组元素保持其相关性。


因此,很显然,您需要另一个功能,我想rsort。


查看完整回答
反对 回复 2021-04-23
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信