Supprimer la valeur de l'élément $tmp du tableau
<?php $tmp = '324'; $arr = array('0' => '321','1' => '322','2' => '323','3' => '324','4' => '325','5' => '326', );
Code
<?php foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } print_r($arr); ?>
À ce moment
Array( [0] => 321 [1] => 322 [2] => 323 [4] => 325 [5] => 326 )
Pour réinitialiser l'index, ajoutez une phrase
<?php foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } $arr = array_values($arr); print_r($arr); ?>
Le résultat est
Array( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
array_merge() peut également obtenir le même effet
<?php foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } $arr = array_merge($arr); print_r($arr); ?>
Le résultat à ce moment
Array( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
Utilisez array_search et array_splice, où array_splice réinitialise automatiquement la valeur de séquence.
$key=array_search($tmp ,$arr); array_splice($arr,$key,1); var_dump($arr);
Résultats à ce moment
Array( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
Bonnes pratiques
$arr = array_merge(array_diff($arr, array($tmp))); var_dump($arr);
Résultat
Array( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
Ici, si les éléments du tableau sont des structures de données complexes, une comparaison peut également être réalisée. 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);
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!