Maison > Article > développement back-end > Tableau PHP regroupant par fonctions de valeur et meilleures pratiques
PHP 8.0 a introduit la fonction array_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 est false
. 🎜Exemple🎜rrreee🎜Sortie : 🎜rrreee🎜Meilleure pratique🎜🎜En plus de la fonction array_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 : 🎜🎜rrreeearray_reduce ()
Fonction : 🎜🎜rrreeearray_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!