Maison > développement back-end > Problème PHP > Comment supprimer un élément de valeur dans un tableau unidimensionnel en php

Comment supprimer un élément de valeur dans un tableau unidimensionnel en php

coldplay.xixi
Libérer: 2023-03-03 22:06:02
original
3095 Les gens l'ont consulté

Comment supprimer un élément de valeur dans un tableau unidimensionnel en PHP : 1. Utilisez l'instruction de boucle for et la fonction [array_merge()] pour supprimer la valeur, le code est [$arr = array_merge( $arr)]; 2. Utilisez la fonction [array_splice] pour réinitialiser automatiquement la valeur de la séquence.

Comment supprimer un élément de valeur dans un tableau unidimensionnel en php

Méthode php pour supprimer un élément de valeur dans un tableau unidimensionnel :

1. faites-le vous-même pour la boucle

supprimez$tmpla valeur de cet élément du tableau

<?php
$tmp = &#39;324&#39;;
$arr = array(
&#39;0&#39; => &#39;321&#39;,
&#39;1&#39; => &#39;322&#39;,
&#39;2&#39; => &#39;323&#39;,
&#39;3&#39; => &#39;324&#39;,
&#39;4&#39; => &#39;325&#39;,
&#39;5&#39; => &#39;326&#39;,
);
Copier après la connexion

code

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
print_r($arr);
?>
Copier après la connexion

À ce moment

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [4] => 325
 [5] => 326
)
Copier après la connexion

a besoin pour réinitialiser l'index, en ajoutant une phrase

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>
Copier après la connexion

À ce moment, le résultat

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

array_merge() peut également obtenir le même effet

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>
Copier après la connexion
Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

2. utilisation des propres fonctions de PHP, car cela est implémenté en C, ce qui est plus efficace que de l'écrire vous-même.

Utilisez array_search et array_splice, où array_splice réinitialise automatiquement la valeur de la séquence.

$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);
Copier après la connexion

Résultat à ce moment

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Bonne pratique

$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);
Copier après la connexion

Résultat

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ici, si les éléments du tableau sont des structures de données complexes, la comparaison peut également être atteint. Bien entendu, les données elles-mêmes restent unidimensionnelles.

Dans l'exemple ci-dessus, $tmp est une valeur. Si $tmp est un tableau ou une autre structure de données complexe, supprimez tous les éléments contenus dans $tmp de $array. La méthode ci-dessus est également valide

$arr = array_merge(array_diff($arr, $tmp));
var_dump($arr);
Copier après la connexion
.

Recommandations d'apprentissage associées : programmation php(vidéo)

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!

Étiquettes associées:
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