この記事では、主に PHP による 2 次元配列のキー別グループ化に関する情報を紹介します。非常に優れており、必要な方は参考にしてください。結果が希望のものと異なる場合は、2 次元配列の特定のフィールドに従って配列をグループ化する必要がある場合があります。
まず次の配列を見てください。
Array ( [0] => Array ( [id] => 1 [wo_id] => 2 [evaluate_id] => 1 [type] => 分组1 [ctime] => 2016-12-02 11:39:34 ) [1] => Array ( [id] => 2 [wo_id] => 31 [evaluate_id] => 2 [type] => 分组1 [ctime] => 2016-12-12 11:39:50 ) [2] => Array ( [id] => 3 [wo_id] => 31 [evaluate_id] => 4 [type] => 分组2 [ctime] => 2016-12-02 11:40:01 ) [3] => Array ( [id] => 4 [wo_id] => 2 [evaluate_id] => 5 [type] => 分组2 [ctime] => 2016-12-07 10:21:40 ) [4] => Array ( [id] => 5 [wo_id] => 2 [evaluate_id] => 3 [type] => 分组2 [ctime] => 2016-12-07 10:21:51 ) [5] => Array ( [id] => 6 [wo_id] => 2 [evaluate_id] => 2 [type] => 分组3 [ctime] => 2016-12-07 10:21:56 ) [6] => Array ( [id] => 7 [wo_id] => 4 [evaluate_id] => 2 [type] => 分组3 [ctime] => 2016-12-07 10:22:10 ) )
これは、配列内のデータをタイプ (グループ化) に応じて個別に処理する場合 (グループ化されていない場合) の非常に典型的な例です。ループされる可能性があります。非常に冗長になるため、次のグループ化関数があります:
public static function array_group_by($arr, $key) { $grouped = []; foreach ($arr as $value) { $grouped[$value[$key]][] = $value; } // Recursively build a nested grouping if more parameters are supplied // Each grouped array value is grouped according to the next sequential key if (func_num_args() > 2) { $args = func_get_args(); foreach ($grouped as $key => $value) { $parms = array_merge([$value], array_slice($args, 2, func_num_args())); $grouped[$key] = call_user_func_array('array_group_by', $parms); } } return $grouped; }
$arr: 2 次元配列
$key: キーグループ化する必要があります
code>$arr : 二维数组
$key: 需要分组的key
Array ( [分组2] => Array ( [0] => Array ( [id] => 1 [wo_id] => 2 [evaluate_id] => 1 [ctime] => 2016-12-02 11:39:34 [type] => 分组2 ) [1] => Array ( [id] => 2 [wo_id] => 31 [evaluate_id] => 2 [ctime] => 2016-12-12 11:39:50 [type] => 分组2 ) [2] => Array ( [id] => 3 [wo_id] => 31 [evaluate_id] => 4 [ctime] => 2016-12-02 11:40:01 [type] => 分组2 ) ) [分组1] => Array ( [0] => Array ( [id] => 4 [wo_id] => 2 [evaluate_id] => 5 [ctime] => 2016-12-07 10:21:40 [type] => 分组1 ) [1] => Array ( [id] => 5 [wo_id] => 2 [evaluate_id] => 3 [ctime] => 2016-12-07 10:21:51 [type] => 分组1 ) ) )
PHP フィルター 2 次元配列と 3 次元配列、php 2 次元配列 array
PHP フィルター 2 次元配列と 3 次元配列、php 2 次元array array_PHP チュートリアル
2 次元配列と 3 次元配列の PHP フィルタリング、PHP 2 次元配列 array
以上がPHPで2次元配列をキーごとにグループ化する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。