Position actuelle: Accueil> Derniers articles> La différence entre la longueur 0 et null dans array_slice

La différence entre la longueur 0 et null dans array_slice

gitbox 2025-05-29

Dans PHP, la fonction Array_Slice est un outil commun utilisé pour extraire un sous-tableau d'un tableau. Son prototype de fonction est le suivant:

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)

Où, la longueur de paramètre $ est utilisée pour spécifier le nombre d'éléments à intercepter. Cependant, lorsque la longueur $ est 0 ou nul , le comportement est différent. Cet article analysera en détail la différence entre Array_Slice dans ces deux cas.

1. Instructions de base

  • $ tableau : le tableau d'entrée.

  • $ Offset : Par où commencer à intercepter, des nombres négatifs sont pris en charge.

  • $ Longueur : le nombre d'éléments interceptés, le NULL par défaut signifie qu'il est intercepté à la fin du tableau.

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

2. Lorsque $ la longueur est nul

Lorsque vous appelez Array_slice , si aucun paramètre de longueur de $ n'est passé ou que la valeur transmise est nul , PHP interceptera de $ compense à la fin du tableau.

Exemple:

 $arr = [1, 2, 3, 4, 5];
$result = array_slice($arr, 2, NULL);
print_r($result);

Sortir:

 Array
(
    [0] => 3
    [1] => 4
    [2] => 5
)

Explication: À partir de l'indice 2, interceptant jusqu'à la fin du tableau.

3. Lorsque la longueur de $ est 0

Lorsque $ la longueur est explicitement réglé sur 0 , Array_Slice renvoie un tableau vide. Autrement dit, quelle que soit la durée du tableau, la longueur interceptée est nulle, ce qui signifie qu'aucun éléments n'est retourné.

Exemple:

 $arr = [1, 2, 3, 4, 5];
$result = array_slice($arr, 2, 0);
print_r($result);

Sortir:

 Array
(
)

Explication: Spécifiez la longueur à 0 et n'interceptez aucun éléments.

4. Résumé et comparaison

paramètre de longueur Résultat de retour illustrer
NUL Tous les éléments du décalage à la fin du tableau Comportement par défaut, intercepter tous les éléments restants
0 Tableau vide Intercepter la longueur de 0, et le résultat est un tableau vide

5. Suggestions d'application pratiques

  • Si vous souhaitez intercepter la queue du tableau, il est recommandé d'omettre le paramètre de longueur $ ou de passer explicitement Null .

  • Si vous souhaitez éviter de retourner accidentellement des tableaux vides, veillez à ne pas définir la longueur $ sur 0 .

  • Pour les paramètres passés dynamiquement, faites des jugements de type pour éviter de passer 0S pour affecter les résultats.

6. Exemples supplémentaires - Conservez le nom de la clé

 $arr = ['a' => 1, 'b' => 2, 'c' => 3];
$result = array_slice($arr, 1, NULL, true);
print_r($result);

Sortir:

 Array
(
    [b] => 2
    [c] => 3
)

Ici, Null est transmis pour intercepter tous les éléments restants, tout en maintenant le nom de clé d'origine.

7. Liens connexes