Maison  >  Article  >  développement back-end  >  Comment supprimer des éléments vides dans un tableau en php

Comment supprimer des éléments vides dans un tableau en php

PHPz
PHPzoriginal
2023-04-26 09:16:57851parcourir

Dans le développement PHP, les tableaux sont souvent utilisés pour stocker et gérer des données. Cependant, le tableau contient parfois des éléments vides, ce qui gaspille de la mémoire et rend le code difficile à maintenir et à comprendre. Par conséquent, savoir comment supprimer les éléments vides d’un tableau est une compétence qui mérite d’être apprise.

En PHP, il existe de nombreuses façons de supprimer des éléments vides d'un tableau. Deux de ces méthodes seront présentées ci-dessous.

Méthode 1 : Utilisez la fonction array_filter()

La fonction array_filter() est une fonction intégrée en PHP pour traiter les tableaux. Il peut filtrer les éléments d'un tableau en fonction de conditions spécifiées et renvoyer un nouveau tableau filtré.

Sur la base de cette fonctionnalité, nous pouvons utiliser la fonction array_filter() pour supprimer les éléments vides du tableau.

Ce qui suit est un exemple de code :

<?php
// 原始数组
$arr = array(&#39;hello&#39;, &#39;&#39;, &#39;world&#39;, &#39;&#39;, &#39;&#39;, &#39;PHP&#39;);
print_r($arr);

// 过滤空元素
$arr = array_filter($arr);
print_r($arr);
?>

Résultat de sortie :

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

Comme vous pouvez le voir, la fonction array_filter() peut être utilisée pour obtenir un nouveau tableau, new Il n'y a plus d'éléments vides dans le tableau.

Méthode 2 : utilisez la fonction unset()

Une autre méthode consiste à utiliser la fonction unset() intégrée de PHP. La fonction unset() est utilisée pour supprimer une variable et peut supprimer l'élément spécifié dans le tableau. Nous pouvons utiliser l'instruction de boucle foreach pour parcourir le tableau afin de déterminer si chaque élément est vide. S'il est vide, utilisez la fonction unset() pour le supprimer.

Voici un exemple de code :

<?php
// 原始数组
$arr = array(&#39;hello&#39;, &#39;&#39;, &#39;world&#39;, &#39;&#39;, &#39;&#39;, &#39;PHP&#39;);
print_r($arr);

// 删除空元素
foreach ($arr as $key => $value) {
    if ($value === '') {
        unset($arr[$key]);
    }
}
print_r($arr);
?>

Résultat de sortie :

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

Comme vous pouvez le voir, en utilisant l'instruction de boucle foreach et le unset( ), nous avons également obtenu un nouveau tableau sans éléments vides.

Comparaison des deux méthodes

La méthode utilisant la fonction array_filter() est plus concise et plus claire que la méthode utilisant l'instruction de boucle foreach et la fonction unset(). La fonction array_filter() possède sa propre fonction de filtrage, qui peut résoudre le problème avec une seule ligne de code. L'instruction de boucle foreach doit utiliser une instruction if pour déterminer si chaque élément est vide avant de le supprimer. Le code n'a pas l'air si concis.

D'un autre côté, lorsqu'il s'agit de grands tableaux, la méthode consistant à utiliser la fonction unset() peut être plus efficace. Parce que lors de l'utilisation de la fonction array_filter(), un nouveau tableau doit être renvoyé, ce qui consomme de la mémoire et du temps supplémentaires.

Résumé

La suppression d'éléments vides dans un tableau est une exigence courante dans le développement PHP. Savoir comment supprimer les éléments vides peut améliorer la qualité et l'efficacité du code. La fonction array_filter() et la fonction unset() peuvent implémenter cette fonction. Choisissez simplement la méthode appropriée en fonction de vos besoins.

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!

Déclaration:
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