我使用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中的一个数组,我被卡住了
如何做到?
编辑:我尝试使用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
。
我想念什么?
答案 0 :(得分:0)
使用以下方法从数组中提取value
字段:
$values = array_column($array, 'value');
// now `sort` and do what you need
arsort($values);
arsort
对数组进行排序。如果您打开手册,将会看到arsort
对数组进行排序,以使数组索引保持与它们关联的数组元素的关联性。
因此,显然您需要另一个功能,我想只是rsort
。