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

Comment supprimer des éléments d'un tableau en php

PHPz
PHPzoriginal
2023-04-27 09:00:54604parcourir

PHP est un langage de script côté serveur populaire utilisé pour développer des applications Web. En PHP, un tableau est une structure de données importante qui peut stocker plusieurs valeurs et qui est facile à ajouter, supprimer, modifier, etc. Cependant, nous devons parfois supprimer certains éléments du tableau. Cet article présente quelques méthodes courantes.

Méthode 1 : Utilisez la fonction unset()

La fonction unset() est utilisée pour supprimer des éléments dans la variable ou le tableau spécifié. Nous pouvons utiliser la fonction unset() pour supprimer un élément du tableau. Le code est le suivant :

$array = array('a', 'b', 'c', 'd', 'e');
unset($array[2]); // 删除c元素
print_r($array); // 输出结果:Array ( [0] => a [1] => b [3] => d [4] => e )

Dans le code ci-dessus, nous avons créé un tableau contenant 5 éléments et utilisé la fonction unset() pour supprimer le troisième élément. (c'est-à-dire l'élément c). Le résultat final montre que l'élément c a été supprimé.

Il convient de noter que lorsque vous utilisez la fonction unset() pour supprimer un élément du tableau, non seulement l'élément est supprimé du tableau, mais la clé où se trouve l'élément est également supprimée. Par conséquent, si nous supprimons un élément au milieu du tableau, l'index des éléments suivants avancera automatiquement et l'espace vide deviendra NULL. Par exemple, dans le code ci-dessus, le troisième élément du tableau est supprimé, donc l'index du quatrième élément devient 3, l'index du cinquième élément devient 4 et la troisième position du tableau devient NULL.

Méthode 2 : Utiliser la fonction array_splice()

En plus d'utiliser la fonction unset(), nous pouvons également utiliser la fonction array_splice() pour supprimer un élément du tableau. La syntaxe de la fonction array_splice() est la suivante :

array_splice(array &$input, int $offset [, int $length [, mixed $replacement ]]) : array

Parmi eux, $input représente le tableau sur lequel opérer, $offset représente la position de départ de l'élément à supprimer, $length représente le nombre d'éléments à supprimer. supprimé (paramètre facultatif), $ remplacement représente la valeur à insérer (paramètre facultatif). Une fois cette fonction exécutée avec succès, elle renverra un tableau contenant les éléments supprimés.

L'exemple de code suivant montre comment utiliser la fonction array_splice() pour supprimer un élément d'un tableau :

$array = array('a', 'b', 'c', 'd', 'e');
array_splice($array, 2, 1); // 删除c元素
print_r($array); // 输出结果:Array ( [0] => a [1] => b [2] => d [3] => e )

Dans le code ci-dessus, nous créons un tableau contenant 5 éléments et utilisons la fonction array_splice() pour supprimer l'élément. 3 éléments (c'est-à-dire des éléments c). Le résultat final montre que l'élément c a été supprimé.

Il est à noter que lors de l'utilisation de la fonction array_splice(), si $length (c'est-à-dire le nombre d'éléments à supprimer) n'est pas fourni, tous les éléments commençant par $offset jusqu'à la fin du tableau seront supprimés.

Méthode 3 : Utilisez la fonction array_filter()

La fonction array_filter() peut être utilisée pour filtrer le tableau et renvoyer un nouveau tableau contenant uniquement les éléments qui remplissent les conditions. Nous pouvons utiliser la fonction array_filter() en conjonction avec une fonction anonyme pour supprimer un élément d'un tableau. L'exemple de code est le suivant :

$array = array('a', 'b', 'c', 'd', 'e');
$offset = 2; // 要删除的元素位置
$array = array_filter($array, function($key) use ($offset) {
    return ($key != $offset);
}, ARRAY_FILTER_USE_KEY);
print_r($array); // 输出结果:Array ( [0] => a [1] => b [3] => d [4] => e )

Dans le code ci-dessus, nous créons un tableau contenant 5 éléments et utilisons la fonction array_filter() et la fonction anonyme pour supprimer le 3ème élément (c'est-à-dire l'élément c). Le résultat final montre que l'élément c a été supprimé.

La syntaxe avec le mot-clé use pour les fonctions anonymes consiste à transmettre la variable $offset à la fonction anonyme afin que la fonction anonyme puisse accéder à la variable $offset. Dans la fonction anonyme, $key représente la clé de l'élément du tableau, qui est utilisée pour déterminer si l'élément doit être conservé.

Méthode 4 : Utiliser la fonction array_diff()

La fonction array_diff() peut être utilisée pour calculer le complément d'un tableau et renvoyer les valeurs dans $array1 qui n'existent pas dans $array2 et les tableaux suivants. Nous pouvons utiliser la fonction array_diff() pour supprimer un élément du tableau. Le code est le suivant :

$array = array('a', 'b', 'c', 'd', 'e');
$offset = 2; // 要删除的元素位置
$array = array_diff($array, array($array[$offset]));
print_r($array); // 输出结果:Array ( [0] => a [1] => b [3] => d [4] => e )

Dans le code ci-dessus, nous avons créé un tableau contenant 5 éléments et utilisé la fonction array_diff() pour supprimer le 3ème élément ( c'est-à-dire l'élément c). Le résultat final montre que l'élément c a été supprimé.

Il convient de noter que la fonction array_diff() doit transmettre un tableau, pas des éléments.

Conclusion

En PHP, il existe de nombreuses façons de supprimer un élément d'un tableau. Quelle que soit la méthode utilisée, il y a une chose en commun : l'opération de suppression modifiera l'index des éléments du tableau et entraînera la réorganisation du tableau. Par conséquent, lors de l'exécution d'opérations de suppression, nous devons gérer l'index des éléments du tableau avec soin pour éviter des problèmes inutiles. En parallèle, vous devez également choisir la méthode qui vous convient le mieux en fonction de vos besoins réels.

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