Maison  >  Article  >  développement back-end  >  Que se passera-t-il si le tableau supprimé par php ne s'affiche pas la prochaine fois ?

Que se passera-t-il si le tableau supprimé par php ne s'affiche pas la prochaine fois ?

PHPz
PHPzoriginal
2023-04-23 10:07:23374parcourir

En PHP, le tableau est un type de données très courant. Il peut stocker différents types de données et effectuer des opérations de base telles que l'ajout, la suppression, la modification et la requête. Lorsque nous devons supprimer un élément du tableau, nous pouvons utiliser la fonction unset pour y parvenir. Mais parfois, nous constatons que l'élément supprimé réapparaît dans le tableau la prochaine fois. Pourquoi ?

En fait, c'est parce que le tableau en PHP est un tableau associatif, ce qui signifie que chaque élément a une valeur de clé correspondante, et la fonction unset ne supprime que la valeur correspondante, mais la clé existe toujours, donc la prochaine fois traversée, cette clé Il apparaîtra à nouveau dans le tableau, mais la valeur correspondante est vide.

Alors, comment pouvons-nous réellement supprimer cet élément ? Nous pouvons utiliser la fonction array_values ​​​​pour réorganiser l'ordre des clés du tableau afin que les clés commencent à 0 et augmentent continuellement. Cela garantit que les éléments précédemment supprimés n'apparaîtront plus.

Voici un exemple de code :

$arr = array('apple', 'banana', 'orange');
unset($arr[1]); // 删除元素
$newArr = array_values($arr); // 重新排列键
print_r($newArr);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => orange
)

Comme indiqué ci-dessus, en utilisant la fonction array_values ​​​​​​, les clés peuvent être réorganisées pour garantir que l'élément supprimé n'apparaisse plus.

Il convient de noter que bien que la fonction array_values ​​​​peut atteindre l'objectif de suppression d'éléments, elle provoquera également le réarrangement des clés du tableau, ce qui peut affecter la logique du code précédent, vous devez donc y réfléchir attentivement lorsque vous l'utilisez. .

De plus, dans PHP 7 et supérieur, vous pouvez utiliser la nouvelle fonction array_filter pour supprimer des éléments du tableau. Cette fonction renverra un nouveau tableau dans lequel les éléments supprimés n'apparaîtront pas. Les exemples d'utilisation sont les suivants :

$arr = array('apple', '', 'banana', 'orange');
$newArr = array_filter($arr); // 过滤掉为空的元素
print_r($newArr);

Résultats de sortie :

Array
(
    [0] => apple
    [2] => banana
    [3] => orange
)

filtre les éléments vides du tableau via la fonction array_filter sans modifier l'ordre des touches du tableau d'origine, ce qui présente une certaine praticité.

En bref, pour supprimer des éléments d'un tableau en PHP, vous pouvez utiliser la fonction unset ou la fonction array_filter pour y parvenir, mais vous devez faire attention à l'ordre des clés pour éviter des problèmes inutiles.

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