Cet article présente principalement la méthode de suppression d'éléments de tableau en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Plusieurs méthodes PHP pour supprimer des éléments d'un tableau. Dans de nombreux cas, nos tableaux seront dupliqués. Alors que devons-nous faire si nous supprimons du contenu en double dans le tableau. Ces éléments doivent rester uniques, nous devons donc les trouver. façons de les supprimer. Ils utilisent ci-dessous plusieurs méthodes de parcours de requêtes pour supprimer les éléments de tableau en double.
Méthode 1. Supprimer complètement les instances de tableau en double -----Supprimer un élément du tableau
function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_value($arr[$key], $var); } else { $value = trim($value); if ($value == $var) { unset($arr[$key]); } else { $arr[$key] = $value; } } } }
$a est un tableau :
count($a); //得到4 unset($a[1]); //删除第二个元素 count($a); //得到3 echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue, echo $a[1]; //无值 ?>
C'est-à-dire qu'après avoir supprimé les éléments du tableau, le nombre d'éléments du tableau (obtenu avec count()) change, mais les clés ne sont pas réorganisées et la valeur correspondante doit être actionnée avec la clé avant de supprimer le tableau.
Plus tard, j'ai adopté une autre méthode, qui en fait ne s'appelle pas du tout une "méthode", j'ai utilisé la fonction array_splice() prête à l'emploi de PHP4.
count ($a); //得到4 array_splice($a,1,1); //删除第二个元素 count ($a); //得到3 echo $a[2]; //得到yellow echo $a[1]; //得到blue ?>
Fonction pour supprimer les éléments en double dans le tableau
Petit exemple supplémentaire :function delmember(&$array, $id) { $size = count($array); for($i = 0; $i <$size - $id - 1; $i ++) { $array[$id + $i] = $array[$id + $i + 1]; } unset($array[$size - 1]); }
php a une fonction intégrée array_unique qui peut être utilisée pour supprimer les valeurs en double dans un tableau
La première unité sera conservée.
Exemple : array_unique()
<?php $input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique($input); print_r($result); ?>
Array ( [a] => green [0] => red [1] => blue )
array_flip pour réaliser Effet de déduplicationUne autre méthode consiste à utiliser la fonction array_flip de PHP pour obtenir indirectement l'effet de déduplication
array_flip est une fonction qui inverse les clés et les valeurs du tableau. caractéristique que si le tableau Si deux valeurs sont identiques, alors la dernière clé et la dernière valeur seront conservées après inversion. Profitant de cette fonctionnalité, nous l'utilisons pour implémenter indirectement la déduplication du tableau
.
<?php $arr = array("a"=>"a1","b"=>'b1',"c"=>"a2","d"=>"a1"); $arr1 = array_flip($arr); print_r($arr1);//先反转一次,去掉重复值,输出Array ( [a1] => d [b1] => b [a2] => c ) $arr2 = array_flip($arr); print_r($arr2);//再反转回来,得到去重后的数组,输出Array ( [a1] => d [b1] => b [a2] => c ) $arr3 = array_unique($arr); print_r($arr3);//利用php的array_unique函数去重,输出Array ( [a] => a1 [b] => b1 [c] => a2 ) ?>
array_flip pour obtenir la dernière clé et valeur de l'élément répété, et utilisez array_unique pour récupère le premier des deux éléments répétés.
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Partage d'une méthode simple pour réaliser une page statique en PHPAnalyse d'exemples CURL de transmission de données en PHPPartage d'exemples simples d'ajout de données à des fichiers XML en PHPCe 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!