Comment supprimer l'index d'élément vide dans un tableau en php

PHPz
Libérer: 2023-04-12 11:36:02
original
490 Les gens l'ont consulté

Tout d’abord, comprenons d’abord ce qu’est un index d’élément vide.

En PHP, les tableaux sont composés de clés et de valeurs, et leur relation correspondante est comme la relation entre les clés et les valeurs dans un dictionnaire. En PHP, les clés d'un tableau peuvent être des nombres ou des chaînes. Lorsque nous supprimons une instance du tableau, l'instance est supprimée du tableau, mais son index reste dans le tableau. Si nous supprimons tous les éléments du tableau tout en conservant le tableau, ce sera un tableau vide et les clés du tableau vide existeront toujours. Dans ce tableau vide, la valeur correspondant à la clé est également vide, nous l'appelons donc un index d'élément vide.

Si le tableau contient de nombreux index d'éléments vides, ces éléments vides affecteront notre parcours et notre traitement du tableau, nous devons donc parfois supprimer ces éléments vides. Voyons ensuite comment supprimer les index d'éléments vides dans un tableau et réinitialiser les index dans l'ordre en PHP.

En PHP, il existe deux fonctions très utiles qui peuvent être utilisées pour supprimer les index d'éléments vides dans les tableaux, ce sont array_filter() et array_values(). La première fonction du tableau est utilisée pour filtrer la fonction de rappel dans le tableau et la deuxième fonction est utilisée pour réinitialiser l'index de toutes les clés du tableau.

Jetons d'abord un coup d'œil à la syntaxe de base de la fonction array_filter(). La fonction

array array_filter( array $array [, callable $callback [, int $flag = 0 ]] )
Copier après la connexion

accepte un tableau comme paramètre et renvoie un nouveau tableau filtré. Le deuxième paramètre facultatif $callback spécifie une fonction de rappel qui sera appelée pour chaque élément du tableau donné. Si la fonction de rappel renvoie vrai, l'élément sera inclus dans le nouveau tableau, si elle renvoie faux, l'élément sera supprimé du nouveau tableau.

Regardons un exemple pratique :

$array = array("foo", "", "bar", "", "baz");
$filtered_array = array_filter($array);
print_r($filtered_array);
Copier après la connexion

Dans l'exemple ci-dessus, le tableau $array contient cinq éléments, dont deux sont des éléments vides. À l'aide de la fonction array_filter(), les éléments vides du tableau sont supprimés et un nouveau tableau $filtered_array est renvoyé. Le résultat est le suivant :

Array
(
    [0] => foo
    [2] => bar
    [4] => baz
)
Copier après la connexion

Dans le résultat ci-dessus, nous pouvons voir que le nouveau tableau $filtered_array ne contient pas d'index d'éléments vides.

Ensuite, voyons comment réinitialiser l'index de toutes les clés du tableau. Ceci peut être réalisé grâce à la fonction array_values() intégrée en PHP. Cette fonction accepte un tableau comme paramètre et renvoie un nouveau tableau dans lequel toutes les clés sont réinitialisées sur des entiers consécutifs.

Regardons un exemple pratique :

$array = array("foo", "bar", "baz");
$indexed_array = array_values($array);
print_r($indexed_array);
Copier après la connexion

Dans l'exemple ci-dessus, on nous donne un tableau $array sans clés En utilisant la fonction array_values(), un nouveau tableau $indexed_array sera généré, dans lequel tous les noms de clés. sera réinitialisé à des nombres entiers consécutifs. Le résultat est le suivant :

Array
(
    [0] => foo
    [1] => bar
    [2] => baz
)
Copier après la connexion
Copier après la connexion

Dans le résultat ci-dessus, nous pouvons voir que les noms de clés dans le nouveau tableau $indexed_array ont été correctement définis sur des entiers consécutifs.

Maintenant, nous pouvons utiliser ces deux fonctions ensemble pour traiter un tableau contenant des index d'éléments vides et renvoyer un nouveau tableau avec des index recréés.

Regardons un exemple pratique :

$array = array("foo", "", "bar", "", "baz");
$filtered_array = array_filter($array);
$indexed_array = array_values($filtered_array);
print_r($indexed_array);
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons deux fonctions array_filter() et array_values() et les concaténons. Tout d’abord, nous utilisons la fonction array_filter() pour supprimer les index des éléments vides du tableau, puis utilisons la fonction array_values() pour réinitialiser les index de toutes les clés du nouveau tableau. Le résultat est le suivant :

Array
(
    [0] => foo
    [1] => bar
    [2] => baz
)
Copier après la connexion
Copier après la connexion

Dans les résultats ci-dessus, nous pouvons voir que le nouveau tableau $indexed_array ne contient plus d'index d'éléments vides et que les index de toutes les clés ont été réinitialisés en entiers consécutifs.

Pour résumer, en utilisant la fonction array_filter() et la fonction array_values(), nous pouvons facilement gérer l'index des éléments vides dans le tableau PHP et définir correctement l'index de toutes les clés du nouveau tableau, ce qui est très important pour notre L'écriture de code PHP est très utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal