Utilisez la fonction array_merge()
pour utiliser un array_unique pour supprimer les doublons dans un tableau, mais j'ai constaté que l'indice est conservé L'indice du tableau d'origine, mais PHP utilise une boucle for et les indices doivent être soignés, donc chercher un moyen de réorganiser les indices du tableau array_merge peut résoudre ce problème
array_merge() La fonction combine deux tableaux ou plus en un seul tableau.
S'il y a des noms de clé en double, la valeur de clé de la clé sera la valeur correspondant au dernier nom de clé (le dernier écrasera le précédent). Si le tableau est numériqueindexé, les clés sont réindexées consécutivement.
Remarque : Si seul un tableau est entré dans la fonction array_merge() et que le nom de la clé est un entier, la fonction renverra un nouveau tableau avec un nom de clé entier, dont la clé le nom commence par 0 commence la réindexation.
<?php $a1=array("a"=>"Horse","b"=>"Dog"); $a2=array("c"=>"Cow","b"=>"Cat"); print_r(array_merge($a1,$a2)); ?>
Sortie :
Tableau ( [a] => Cheval [b] => Chat [c] => Vache )
Exemple 2
Utilisez un seul argument de tableau :
<?php $a=array(3=>"Horse",4=>"Dog"); print_r(array_merge($a)); ?>
Sortie :
Array ( [0] => Cheval [1] => Chien )
Méthodes pour fusionner dans de nouvelles tables et les organiser dans l'ordre
<?php /** la (3,5,8,11) lb(2,6,8,9,11,15) 合并为lc,有序排列。 用php实现,不能用sort之类的函数!!!! **/ class union { var $lista = array(); var $listb = array(); var $listc = array(); function getlenght($arr) { //获得表长度 return count($arr); } function getelement($arr, $n) { //获取表中第n个元素,返回 return $e = $arr[$n] ? $arr[$n] : ''; } function listinsert($arr, $e) { //表末尾插入元素 $arr[] = $e; return $arr; } } $phpig = new union(); $lista = $phpig->lista = array(3, 5, 8, 11); $listb = $phpig->listb = array(2, 6, 8, 9, 11, 15); $listc = $phpig->listc; $lena = $phpig->getlenght($lista); //取得表大小 $lenb = $phpig->getlenght($listb); $i = $j = 0; while($i < $lena && $j < $lenb) { $ea = $phpig->getelement($lista, $i); $eb = $phpig->getelement($listb, $j); if($ea <= $eb) { $listc = $phpig->listinsert($listc, $ea); ++$i; } else { $listc = $phpig->listinsert($listc, $eb); ++$j; } } while($i < $lena) { $ea = $phpig->getelement($lista, $i); $listc = $phpig->listinsert($listc, $ea); ++$i; } while($j < $lenb) { $eb = $phpig->getelement($listb, $j); $listc = $phpig->listinsert($listc, $eb); ++$j; } print_r($listc); ?>
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!