ホームページ  >  記事  >  バックエンド開発  >  私は配列についてアドバイスを求めている初心者です。マスターからアドバイスをいただけますか?

私は配列についてアドバイスを求めている初心者です。マスターからアドバイスをいただけますか?

WBOY
WBOYオリジナル
2016-06-20 12:43:22860ブラウズ

次の 2 次元配列があります。インターセプトのない項目は数百個ある可能性があります。

このような配列では、カウント値が最大の上位 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 配列をグループ化します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。