我得到了一个使用值的关联数组,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。
- 1 回答
- 0 关注
- 151 浏览
添加回答
举报
0/150
提交
取消