Position actuelle: Accueil> Derniers articles> Différences entre Array_Chunk et Array_Slice et Scénarios d'utilisation

Différences entre Array_Chunk et Array_Slice et Scénarios d'utilisation

M66 2025-04-26

Fonction Array_Chunk

La fonction Array_Chunk est utilisée pour diviser un grand tableau en plusieurs petits tableaux. La taille de chaque petit tableau est la taille spécifiée. La syntaxe de base de cette fonction est la suivante:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • Description du paramètre:

    • $ Array : le tableau d'origine qui doit être divisé.

    • $ Taille : la taille de chaque petit tableau.

    • $ Preserve_Keys : Que ce soit pour conserver le nom de clé du tableau d'origine, la valeur par défaut est fausse , c'est-à-dire que l'index sera réinitialisé.

  • Fonction:
    Array_chunk coupe le tableau d'origine à la taille spécifiée. Si la taille $ est réglée sur 2, le tableau d'origine sera divisé en plusieurs petits tableaux contenant deux éléments. Si le dernier tableau a moins de $ , il contiendra les éléments restants.

  • Exemple:

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($array, 3);
print_r($chunkedArray);
?>

Sortir:

 Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )
    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )
)
  • Scénarios applicables:
    Array_chunk convient aux scènes où un grand tableau est divisé en plusieurs petits tableaux, tels que l'affichage de pagination, les tâches de traitement par lots, etc.

fonction array_slice

La fonction Array_Slice est utilisée pour extraire une pièce d'un tableau. Contrairement à Array_Chunk , Array_Slice vous permet de démarrer n'importe où dans le tableau d'origine et de spécifier le nombre d'éléments à retirer. La syntaxe de base est la suivante:

 array_slice(array $array, int $offset, int $length = NULL, bool $preserve_keys = false): array
  • Description du paramètre:

    • $ Array : Tableau d'origine.

    • $ Offset : la position d'index pour commencer à couper. S'il s'agit d'un nombre négatif, le nombre commence à partir de la fin du tableau.

    • $ Longueur : le nombre d'éléments à couper. Si elle n'est pas spécifiée, la valeur par défaut est du décalage de $ à la fin du tableau.

    • $ Preserve_keys : s'il faut préserver le nom clé du tableau d'origine.

  • Fonction:
    Array_slice commence à la position spécifiée du tableau, intercepte un certain nombre d'éléments et renvoie un nouveau tableau. Il convient de noter que Array_Slice ne change pas le tableau d'origine, il renvoie un nouveau tableau.

  • Exemple:

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$slicedArray = array_slice($array, 3, 4);
print_r($slicedArray);
?>

Sortir:

 Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 7
)
  • Scénarios applicables:
    Array_slice convient aux scénarios où des pièces spécifiques doivent être extraites du tableau d'origine, telles que l'interception des enregistrements d'une certaine période de temps, une requête de pagination, etc.

La différence entre array_chunk et array_slice

  • Méthode de coupe:

    • Array_Chunk doit diviser un tableau par une taille fixe et renvoyer un tableau bidimensionnel contenant plusieurs tableaux.

    • Array_slice intercepte simplement le segment spécifié du tableau et renvoie un nouveau tableau, sans modifier le tableau d'origine.

  • Résultat de retour:

    • Array_chunk renvoie un tableau (tableau bidimensionnel) contenant de petits tableaux.

    • array_slice renvoie un seul tableau (sous-réseau).

  • Scénarios applicables:

    • Array_Chunk convient plus à la division d'un grand tableau en plusieurs pièces par taille, en particulier lorsque la pagination ou le traitement par lots est requise.

    • Array_slice convient plus à l'extraction d'une partie d'un tableau, en particulier lorsque vous devez extraire une plage d'index spécifique.

Résumer

  • Si vous devez diviser un grand tableau en plusieurs sous-réseaux de taille égale, sélectionnez Array_Chunk .

  • Si vous avez seulement besoin d'extraire une partie des données d'un tableau, vous pouvez utiliser Array_slice .

Ces deux fonctions ont leurs propres scénarios d'utilisation dans PHP. Comprendre leurs différences peut vous aider à gérer plus efficacement les opérations de tableau.