Dans PHP, Array_Chunk () est une fonction de fonctionnement du tableau très courant. Il peut diviser un grand tableau en plusieurs petits tableaux et renvoyer un tableau bidimensionnel contenant le résultat divisé. Habituellement, Array_Chunk () réinitialisera le nom de clé du tableau, provoquant le démarrage de la clé de chaque sous-réseau et perd le nom de clé du tableau d'origine . Et si vous souhaitez garder le nom de clé d'origine lorsque vous divisez un tableau?
Cet article expliquera comment empêcher le nom de clé d'origine de réinitialiser ou de manquer lorsque vous divisez un tableau à l'aide d' Array_Chunk () .
Tout d'abord, examinons le comportement par défaut de Array_Chunk () . Supposons que nous ayons un tableau avec plusieurs éléments et que ces éléments ont des noms de clés personnalisés:
<?php
$array = [
1 => 'apple',
2 => 'banana',
3 => 'cherry',
4 => 'date',
5 => 'elderberry'
];
$chunkedArray = array_chunk($array, 2);
print_r($chunkedArray);
?>
Le résultat de sortie ressemblera à ceci:
Array
(
[0] => Array
(
[0] => apple
[1] => banana
)
[1] => Array
(
[0] => cherry
[1] => date
)
[2] => Array
(
[0] => elderberry
)
)
Comme vous pouvez le voir, array_chunk () divise le tableau d'origine en plusieurs petits tableaux, mais tous les petits noms de clés de tableau sont réinitialisés pour commencer à 0 , perdant la clé d'origine.
Afin de conserver les noms de clés du tableau d'origine non perdu, vous pouvez utiliser le troisième paramètre Preserve_keys . Par défaut, ce paramètre est faux , c'est pourquoi la clé d'origine est perdue. S'il est défini sur true , array_chunk () conserve le nom de clé d'origine.
<?php
$array = [
1 => 'apple',
2 => 'banana',
3 => 'cherry',
4 => 'date',
5 => 'elderberry'
];
$chunkedArray = array_chunk($array, 2, true);
print_r($chunkedArray);
?>
Le résultat de la sortie sera:
Array
(
[0] => Array
(
[1] => apple
[2] => banana
)
[1] => Array
(
[3] => cherry
[4] => date
)
[2] => Array
(
[5] => elderberry
)
)
Comme vous pouvez le voir, chaque petit tableau conserve maintenant le nom de clé du tableau d'origine, et la clé de tableau commence par la clé du tableau d'origine et ne sera pas réinitialisée.
array_chunk () perdra le nom de clé du tableau d'origine par défaut, car il réinitialise la clé pour commencer à 0 .
Si vous devez préserver le nom de clé du tableau d'origine, définissez simplement le troisième paramètre de Array_Chunk () sur true .
Lorsque vous utilisez le paramètre Preserve_Keys , le nom de clé de chaque petit tableau renvoyé sera cohérent avec le tableau d'origine.
J'espère que grâce à cet article, vous pouvez comprendre plus clairement comment conserver le nom de clé d'origine lorsque vous utilisez array_chunk () . Cela permet une plus grande flexibilité dans la gestion des tableaux fendus, en particulier lorsque des informations de nom de clé sont nécessaires.