Position actuelle: Accueil> Derniers articles> Array_chunk est-il applicable lors du traitement des tableaux associatifs?

Array_chunk est-il applicable lors du traitement des tableaux associatifs?

M66 2025-04-25

Dans PHP, la fonction Array_Chunk est utilisée pour diviser un tableau en plusieurs tableaux plus petits. Habituellement, nous l'utilisons pour diviser un tableau d'index numérique. Cependant, lorsque nous gérons des tableaux associatifs, de nombreux développeurs ont des questions: la fonction Array_Chunk conservera-t-elle le nom de clé? La réponse à cette question est:.

Introduction à la fonction Array_Chunk

Tout d'abord, passons rapidement en revue comment la fonction Array_Chunk est utilisée. L'utilisation de base de Array_Chunk est:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $ Array : le tableau d'origine qui doit être divisé.

  • $ Taille : la taille de chaque sous-réseau.

  • $ Preserve_Keys : s'il faut préserver le nom clé du tableau d'origine, par défaut en faux .

Si $ Preserve_Keys est défini sur true , Array_Chunk conservera les noms de clés du tableau d'origine. Si défini sur false (par défaut est faux ), le nom de clé est réindexé.

Le comportement des noms de clés lorsqu'il s'agit de tableaux associatifs

Utilisons quelques exemples en béton pour vérifier si le nom de clé sera conservé lorsque Array_Chunk est utilisé pour associer des tableaux.

Exemple 1: aucun nom de clé n'est conservé

 $array = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    'd' => 'date'
];

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

Le résultat de la sortie est:

 Array
(
    [0] => Array
        (
            [0] => apple
            [1] => banana
        )
    [1] => Array
        (
            [0] => cherry
            [1] => date
        )
)

Vous pouvez voir que le nom de clé a été perdu et que la clé du résultat a été réindexée à partir de 0 .

Exemple 2: Noms de clés réservés

 $array = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    'd' => 'date'
];

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

Le résultat de la sortie est:

 Array
(
    [0] => Array
        (
            [a] => apple
            [b] => banana
        )
    [1] => Array
        (
            [c] => cherry
            [d] => date
        )
)

Dans cet exemple, le nom de clé est conservé et Array_chunk renvoie chaque sous-réseau avec le nom de clé d'origine.

Est-il adapté de diviser un tableau associatif?

array_chunk est utile pour diviser le tableau associatif, mais soyez conscient de son comportement: si vous souhaitez préserver le nom de clé d'origine, vous devez définir le troisième paramètre $ Preserve_Keys sur true . Sinon, les noms de clés seront réindexés, ce qui peut ne pas convenir à certains scénarios où vous devez conserver les noms de clés.

De plus, si vous n'avez pas besoin de conserver les noms de clés et de vous concentrer uniquement sur la division du contenu du tableau, le comportement par défaut est suffisant.

Résumer

  • Array_chunk ne conserve pas les noms de clés par défaut et réindexera les clés des sous-réseaux.

  • Si vous devez préserver le nom de la clé, vous pouvez le faire en définissant le paramètre $ Preserve_Keys sur true .

  • Lorsque vous divisez le tableau associatif, Array_Chunk est entièrement applicable, mais il est nécessaire de décider de conserver le nom de clé en fonction de vos besoins.

Exemple de remplacement d'URL impliqué dans le code

Supposons que vous utilisiez une URL dans votre code, comme ceci:

 $url = 'https://m66.net/page';
$parsed_url = parse_url($url);
print_r($parsed_url);