PHP 8.0 a introduit la fonctionarray_group_by()
pour regrouper les éléments d'un tableau en fonction d'une clé spécifiée ou d'une fonction de rappel. La syntaxe est la suivante :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
: le tableau à regrouper.$key_or_callback
: Extrayez le nom de la clé du tableau ou la fonction de rappel de la clé de groupe.$preserve_keys
: Paramètre facultatif, précisant s'il faut conserver les clés d'origine. La valeur par défaut estfalse
.ExemplerrreeeSortie : rrreeeMeilleure pratiqueEn plus de la fonctionarray_group_by()
, il existe d'autres façons de regrouper des tableaux. Le choix de la méthode appropriée dépend de la situation spécifique.
group_by
Fonction auxiliaire : rrreee
array_reduce ()
Fonction : rrreee
array_column()
Fonction : rrreee Sélectionnez en fonction des exigences du projet et de la structure des données. La méthode de regroupement optimale est cruciale.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!