欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

新手求教关于数组的问题,大神指教。

程序员文章站 2024-01-13 20:26:34
...
我有如下一个二维数组,没截取全可能有几百条。

这样一个数组我怎么只要里面count 数值最大得前10个呢,其余得都不要了。

array (size=148)  0 =>     array (size=4)      'id' => string '31' (length=2)      'cjShow' => string '未知' (length=6)      'cjValues' => string '1' (length=1)      'count' => string '64' (length=2)  1 =>     array (size=4)      'id' => string '465' (length=3)      'cjShow' => string '沈铁A区' (length=10)      'cjValues' => string '2' (length=1)      'count' => string '5' (length=1)  2 =>     array (size=4)      'id' => string '466' (length=3)      'cjShow' => string '沈铁B区' (length=10)      'cjValues' => string '3' (length=1)      'count' => string '3' (length=1)  3 =>     array (size=4)      'id' => string '467' (length=3)      'cjShow' => string '沈铁C区' (length=10)      'cjValues' => string '4' (length=1)      'count' => string '2' (length=1)4=>5=>...更多


回复讨论(解决方案)

foreach($arr as $v) $r[] = v['count'];array_multisort($r, SORT_DESC, $arr);$res = array_slice($arr, 0, 10);

      $arr = [                [                    'id' => '31',                    'cjShow' => '未知',                    'cjValues' => '1',                    'count' => '64',                ],                [                    'id' => '465',                    'cjShow' => '沈铁A区',                    'cjValues' => '2',                    'count' => '5',                ],                [                    'id' => '466',                    'cjShow' => '沈铁B区',                    'cjValues' => '3',                    'count' => '3',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '2',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '1',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '10',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '11',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '12',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '23',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '24',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '25',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '26',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '27',                ],                [                    'id' => '467',                    'cjShow' => '沈铁C区',                    'cjValues' => '4',                    'count' => '28',                ],            ];$count = array_column($arr, 'count');array_multisort($count, SORT_DESC, $arr);$b = array_slice($arr, 0, 10);var_dump($b);


主要是用array_multisort来给数组排序,如果php版本不能用array_column函数就只能自己去foreach组$count数组了