PHP 8.0 führte die Funktion array_group_by()
zum Gruppieren von Array-Elementen basierend auf einem angegebenen Schlüssel oder einer Callback-Funktion ein. Die Syntax lautet wie folgt: array_group_by()
函数,用于根据指定键或回调函数对数组元素进行分组。其语法如下:
array_group_by(array $array, mixed $key_or_callback, bool $preserve_keys = false): array
$array
:要分组的数组。$key_or_callback
:提取分组键的数组键名或回调函数。$preserve_keys
:可选参数,指定是否保留原始键。默认为 false
。$fruits = [ ['name' => 'Apple', 'type' => 'Red'], ['name' => 'Banana', 'type' => 'Yellow'], ['name' => 'Orange', 'type' => 'Orange'], ['name' => 'Mango', 'type' => 'Yellow'], ]; $grouped_by_type = array_group_by($fruits, 'type'); // 输出按类型分组后的数组 print_r($grouped_by_type);
输出:
Array ( [Red] => Array ( [0] => Array ( [name] => Apple [type] => Red ) ) [Yellow] => Array ( [0] => Array ( [name] => Banana [type] => Yellow ) [1] => Array ( [name] => Mango [type] => Yellow ) ) [Orange] => Array ( [0] => Array ( [name] => Orange [type] => Orange ) ) )
除了 array_group_by()
函数之外,还有其他分组数组的方法。选择合适的方法取决于特定情况。
group_by
辅助函数:function group_by(array $array, string $key): array { $result = []; foreach ($array as $item) { $result[$item[$key]][] = $item; } return $result; }
array_reduce()
函数:$grouped_by_type_and_name = array_reduce($fruits, function($result, $item) { $result[$item['type']][$item['name']] = $item; return $result; }, []);
array_column()
$grouped_by_name = array_column($fruits, null, 'name');
$array
: das zu gruppierende Array. $key_or_callback
: Extrahieren Sie den Array-Schlüsselnamen oder die Rückruffunktion des Gruppenschlüssels. $preserve_keys
: Optionaler Parameter, der angibt, ob die Originalschlüssel beibehalten werden sollen. Der Standardwert ist false
. 🎜Beispiel🎜rrreee🎜Ausgabe: 🎜rrreee🎜Best Practice🎜🎜Neben der Funktion array_group_by()
gibt es noch andere Möglichkeiten, Arrays zu gruppieren. Die Wahl der geeigneten Methode hängt von der jeweiligen Situation ab. 🎜group_by
verwenden: 🎜🎜rrreeearray_reduce ()
verwenden: 🎜🎜rrreeearray_column()
verwenden: 🎜🎜rrreee 🎜Wählen Sie entsprechend den Projektanforderungen und der Datenstruktur aus. Die optimale Gruppierungsmethode ist entscheidend. 🎜Das obige ist der detaillierte Inhalt vonPHP-Array-Gruppierung nach Wertfunktionen und Best Practices. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!