Position actuelle: Accueil> Derniers articles> Le nouveau nom de clé de table est-il renvoyé après avoir utilisé Array_Chunk ou la clé d'origine? Est-ce continu?

Le nouveau nom de clé de table est-il renvoyé après avoir utilisé Array_Chunk ou la clé d'origine? Est-ce continu?

M66 2025-04-25

Dans PHP, Array_Chunk est une fonction très pratique qui peut diviser un grand tableau en plusieurs petits tableau, et il nous permet également de définir la longueur maximale de chaque petit tableau.

La signature de la fonction est la suivante:

 array_chunk(array $array, int $length, bool $preserve_keys = false): array
  • $ tableau : le tableau d'entrée.

  • $ Longueur : la longueur de chaque tableau fendu.

  • $ Preserve_Keys : Si défini sur true , le tableau retourné conserve le nom de clé du tableau d'origine; Si faux , le tableau renvoyé régénère les noms de clés numériques consécutifs.

1. Le nouveau nom de clé de table est-il retourné après que Array_Chunk restera inchangé?

Par défaut, Array_Chunk déterminera s'il faut conserver le nom de clé du tableau d'origine en fonction du troisième paramètre $ Preserve_keys :

  • Lorsque $ Preserve_Keys est défini sur False (la valeur par défaut) , le nouveau tableau renvoyé utilisera des noms de clés numériques consécutifs, à partir de 0 .

  • Lorsque $ Preserve_keys est défini sur true , le nouveau tableau conserve le nom de clé du tableau d'origine.

Exemple: $ Preserve_keys est faux

 <?php
$array = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e'];

$result = array_chunk($array, 2);

print_r($result);
?>

Résultat de sortie:

 Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )
    [1] => Array
        (
            [0] => c
            [1] => d
        )
    [2] => Array
        (
            [0] => e
        )
)

Comme vous pouvez le voir, dans le code ci-dessus, $ Preserve_Keys par défaut est faux , de sorte que les noms de clés du tableau renvoyé sont renumérotés à 0, 1, 2 , et ne conservent pas les noms de clés tels que 10, 20, 30 dans le tableau d'origine.

Exemple: $ Preserve_keys est vrai

 <?php
$array = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e'];

$result = array_chunk($array, 2, true);

print_r($result);
?>

Résultat de sortie:

 Array
(
    [10] => Array
        (
            [0] => a
            [1] => b
        )
    [20] => Array
        (
            [0] => c
            [1] => d
        )
    [30] => Array
        (
            [0] => e
        )
)

Dans cet exemple, $ Preserve_keys est défini sur true , donc le tableau renvoyé conserve les noms de clés dans le tableau d'origine: 10, 20, 30 .

2. Les noms clés du nouveau tableau sont-ils renvoyés par Array_Chunk Continuous?

  • Lorsque $ Preserve_Keys est défini sur FALSE , les noms clés du nouveau tableau renvoyé sont continus. Autrement dit, le nouveau tableau commencera à 0 et sera numéroté avec des numéros consécutifs.

  • Lorsque $ Preserve_Keys est défini sur true , le nouveau tableau renvoyé conserve le nom de clé d'origine, de sorte que le nom de clé du nouveau tableau peut ne pas être continu, mais est cohérent avec le nom de clé de la partie séparée correspondante du tableau d'origine.

3. Résumé

Le comportement de Array_Chunk dépend du paramètre $ Preserve_Keys :

  • Par défaut ( $ preserve_keys = false ), les noms de clés du nouveau tableau sont continus, à partir de 0 .

  • Si $ préserve_keys = true est défini, le nouveau tableau conserve le nom de clé du tableau d'origine.

Si vous avez besoin d'un nom de clé numérique continu, vous devez définir $ Preserve_keys sur FALSE, sinon vous pouvez préserver le nom de clé d'origine.