Tableau PHP regroupant par fonctions de valeur et meilleures pratiques

王林
Libérer: 2024-05-04 13:30:01
original
962 Les gens l'ont consulté

PHP 数组按值分组的函数和最佳实践

Regroupement de tableaux PHP par fonctions de valeur et meilleures pratiques

Fonction Array_group_by

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
Copier après la connexion
  • $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);
Copier après la connexion

输出:

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 ) ) )
Copier après la connexion

最佳实践

除了array_group_by()函数之外,还有其他分组数组的方法。选择合适的方法取决于特定情况。

  • 如果需要按单个键分组,可以使用group_by辅助函数:
function group_by(array $array, string $key): array { $result = []; foreach ($array as $item) { $result[$item[$key]][] = $item; } return $result; }
Copier après la connexion
  • 如果需要按多个键分组,可以使用array_reduce()函数:
$grouped_by_type_and_name = array_reduce($fruits, function($result, $item) { $result[$item['type']][$item['name']] = $item; return $result; }, []);
Copier après la connexion
  • 如果需要对数组按键名分组,可以使用array_column()
    $grouped_by_name = array_column($fruits, null, 'name');
    Copier après la connexion
    • $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.
    • Si vous devez regrouper par une seule touche, vous pouvez utilisergroup_byFonction auxiliaire : rrreee
      • Si vous devez regrouper par plusieurs touches, vous peut utiliserarray_reduce ()Fonction : rrreee
        • Si vous devez regrouper les noms de clés de tableau, vous pouvez utiliserarray_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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!