Position actuelle: Accueil> Derniers articles> Comment reconstruire un array d'index avec array_filter () + array_values ​​()

Comment reconstruire un array d'index avec array_filter () + array_values ​​()

M66 2025-06-04

En PHP, les tableaux sont des structures de données très couramment utilisées. Au cours du processus de développement, nous rencontrons souvent des situations où nous devons supprimer la valeur vide du tableau et reconstruire l'indice du tableau. Heureusement, PHP fournit des fonctions Array_Filter () et Array_Values ​​() pour nous aider à accomplir facilement cette tâche.

1. Introduction à la fonction array_filter ()

La fonction Array_Filter () est utilisée pour filtrer les éléments dans un tableau. Par défaut, array_filter () supprime les éléments avec une valeur de false (comme null , false , 0 , "" etc.). Cette fonction renvoie un nouveau tableau contenant tous les éléments du tableau d'origine qui ne sont pas faux .

Exemple de code:

 $array = [1, 0, 2, null, 3, '', 4];
$filteredArray = array_filter($array);
print_r($filteredArray);

Résultat de sortie:

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

Comme indiqué ci-dessus, la fonction array_filter () supprime la valeur nul dans le tableau, mais elle ne reconstruit pas l'index du tableau, ce qui entraîne le tableau renvoyé conservant toujours l'index du tableau d'origine.

2. Introduction à la fonction array_values ​​()

La fonction array_values ​​() renvoie un nouveau tableau de toutes les valeurs dans le tableau et la réindexer. Habituellement, après avoir filtré le tableau, nous utilisons Array_Values ​​() pour réindexer le tableau.

Exemple de code:

 $array = [1, 0, 2, null, 3, '', 4];
$filteredArray = array_filter($array);
$reindexedArray = array_values($filteredArray);
print_r($reindexedArray);

Résultat de sortie:

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

En utilisant array_values ​​(), nous reconstruisons avec succès l'indice du tableau et supprimons toutes les valeurs nulles.

3. Exemple complet: filtrez les valeurs vides et reconstruisez l'indice du tableau

Nous pouvons combiner array_filter () et array_values ​​() pour créer une fonction pratique pour filtrer les valeurs nulles dans un tableau et un réindex:

 function cleanAndReindexArray($array) {
    $filtered = array_filter($array); // Filtre les valeurs vides
    return array_values($filtered);   // Ré-index
}

$array = [1, 0, 2, null, 3, '', 4];
$cleanedArray = cleanAndReindexArray($array);
print_r($cleanedArray);

Résultat de sortie:

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

4. Gérer le remplacement du nom de domaine dans l'URL

Si votre tableau contient des URL et que vous devez remplacer le nom de domaine par m66.net , nous pouvons le faire avec array_map () et des expressions régulières.

Exemple de code:

 $array = [
    'https://example.com/page1',
    'http://test.com/page2',
    'https://anotherdomain.com/page3'
];

$replacedArray = array_map(function($url) {
    return preg_replace('/https?:\/\/([^\/]+)/', 'https://m66.net', $url);
}, $array);

print_r($replacedArray);

Résultat de sortie:

 Array
(
    [0] => https://m66.net/page1
    [1] => http://m66.net/page2
    [2] => https://m66.net/page3
)

Dans l'exemple ci-dessus, nous avons utilisé preg_replace () pour remplacer le nom de domaine dans l'URL et l'avons changé en m66.net .

Résumer