Maison développement back-end tutoriel php PHP输出数组中重名的元素的几种处理方法_PHP

PHP输出数组中重名的元素的几种处理方法_PHP

Jun 01, 2016 pm 12:10 PM
元素

1.可以直接用php的内置函数array_intersect()
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
代码:
复制代码 代码如下:
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
?>

输出结果:
Array( [a] => green [0] => red)
2.也可以自己写一个算法:
复制代码 代码如下:
function my_array_same($a){
$b = array_unique($a);
$r = array_diff_key($a,$b);
echo "
"; <br>$k=var_dump(array_unique($r)); <br>return $k; <br>} <br>$a = array("red", "green", "pink", "red", "yellow","pink", "red"); <br>$r=my_array_same($a); <br>var_dump(array_unique($r)); <br>?> <br> <br>输出结果: <br>array(2) { <br>[3]=> <br>string(3) "red" <br>[5]=> <br>string(4) "pink" <br>} <br><strong>3.还可以这么写: <br></strong><u>复制代码</u> 代码如下: <br><?php <BR>function my_array_intersect($arr1,$arr2){ <br>for($i=0;$i<count>$temp[]=$arr1[$i]; <br>} <br>for($i=0;$i<count>$temp[]=$arr2[$i]; <br>} <br>sort($temp); <br>$get=array(); <br>for($i=0;$i<count>if($temp[$i]==$temp[$i+1]) <br>$get[]=$temp[$i]; <br>} <br>return $get; <br>} <br>$array1 = array("green", "red", "blue"); <br>$array2 = array("green", "yellow", "red"); <br>echo "<pre class="brush:php;toolbar:false">"; <br>print_r(my_array_intersect($array1, $array2)); <br>echo "<pre class="brush:php;toolbar:false">
Copier après la connexion
";
?>

如果是一维的数组,第三种算法比第一种快点.上述算法都适用于一维的数组,那么多维数组怎么查找相同的元素呢?

思路:可以把多维的数组转化成一维的数组,然后再利用上述算法输出。

代码:
复制代码 代码如下:
function toarr($arr){ //对数组进行递归,以字符串形式返回
foreach ($arr as $k=>$v){
if (!is_array($v)) {
$str.=$v." ";
}
else{
$str.=toarr($v);
}
}
return $str;
}/*递归函数结束*/

上式把多维数组转化成字符串,然后利用expode函数转化成一维数组即可。

联想一下,数据库返回某一字段重名的值也是这个道理,当然通过sql语句也能够实现。
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans JavaFX, quels sont les différents éléments du chemin ? Dans JavaFX, quels sont les différents éléments du chemin ? Aug 28, 2023 pm 12:53 PM

Le package javafx.scene.shape fournit des classes avec lesquelles vous pouvez dessiner diverses formes 2D, mais ce ne sont que des formes primitives comme des lignes, des cercles, des polygones et des ellipses, etc... Donc, si vous souhaitez dessiner des formes complexes. Pour des formes personnalisées, vous avez besoin pour utiliser la classe Path. Classe Path Classe Path Vous pouvez dessiner des chemins personnalisés à l'aide de ce contour géométrique qui représente une forme. Pour dessiner des chemins personnalisés, JavaFX fournit divers éléments de chemin, tous disponibles sous forme de classes dans le package javafx.scene.shape. LineTo - Cette classe représente la ligne de l'élément de chemin. Il vous aide à tracer une ligne droite depuis les coordonnées actuelles jusqu'aux (nouvelles) coordonnées spécifiées. HlineTo - Ceci est le tableau

Programme C++ : ajouter un élément à un tableau Programme C++ : ajouter un élément à un tableau Aug 25, 2023 pm 10:29 PM

Un tableau est une structure de données séquentielle linéaire utilisée pour contenir des données homogènes dans des emplacements mémoire contigus. Comme les autres structures de données, les tableaux doivent avoir la capacité d'insérer, de supprimer, de parcourir et de mettre à jour des éléments de manière efficace. En C++, nos tableaux sont statiques. C++ fournit également des structures de tableaux dynamiques. Pour un tableau statique, les éléments Z peuvent être stockés dans le tableau. Jusqu'à présent, nous avons n éléments. Dans cet article, nous apprendrons comment insérer des éléments à la fin d’un tableau (également appelés éléments d’ajout) en C++. Comprenez le concept à travers des exemples. L'utilisation du mot-clé « this » est la suivante : GivenarrayA=[10,14,65,85,96,12,35,74,69]Afterin.

Effet de transition CSS : comment obtenir l'effet de glissement des éléments Effet de transition CSS : comment obtenir l'effet de glissement des éléments Nov 21, 2023 pm 01:16 PM

Effet de transition CSS : Comment obtenir l'effet de glissement des éléments Introduction : Dans la conception Web, l'effet dynamique des éléments peut améliorer l'expérience utilisateur, parmi lesquels l'effet de glissement est un effet de transition courant et populaire. Grâce à la propriété de transition du CSS, nous pouvons facilement obtenir l'effet d'animation glissante des éléments. Cet article expliquera comment utiliser les propriétés de transition CSS pour obtenir l'effet de glissement des éléments et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer. 1. Introduction à la transition des attributs de transition CSS Attributs de transition CSS tra

Quels éléments ne sont pas pris en charge par HTML5 Quels éléments ne sont pas pris en charge par HTML5 Aug 11, 2023 pm 01:25 PM

Les éléments non pris en charge par HTML5 sont les éléments purement expressifs, les éléments basés sur des cadres, les éléments d'application, les éléments remplaçables et les anciens éléments de formulaire. Introduction détaillée : 1. Éléments purement expressifs, tels que font, center, s, u, etc., ces éléments sont généralement utilisés pour contrôler le style et la mise en page du texte ; 2. Éléments basés sur des cadres, tels que frame, frameset et noframes ; les éléments sont utilisés dans Dans le passé, il était utilisé pour créer des mises en page Web et des fenêtres divisées. 3. Éléments liés à l'application, tels que l'applet, l'isinde, etc.

Transformation CSS : comment obtenir l'effet de rotation des éléments Transformation CSS : comment obtenir l'effet de rotation des éléments Nov 21, 2023 pm 06:36 PM

Transformation CSS : comment obtenir l'effet de rotation des éléments nécessite des exemples de code spécifiques. Dans la conception Web, les effets d'animation sont l'un des moyens importants pour améliorer l'expérience utilisateur et attirer l'attention de l'utilisateur, et l'animation de rotation est l'un des moyens les plus classiques. En CSS, vous pouvez utiliser l'attribut « transform » pour obtenir divers effets de déformation des éléments, y compris la rotation. Cet article présentera en détail comment utiliser la « transformation » CSS pour obtenir l'effet de rotation des éléments et fournira des exemples de code spécifiques. 1. Comment utiliser le « transf » de CSS

Comment supprimer des éléments avec jquery Comment supprimer des éléments avec jquery Feb 17, 2023 am 09:49 AM

Comment supprimer des éléments avec jquery : 1. Supprimez l'élément sélectionné et ses sous-éléments via la méthode jQuery Remove(). La syntaxe est "$("#div1").remove();"; Méthode empty(). Les éléments enfants de l'élément sélectionné, la syntaxe est "$("#div1").empty();".

Comment utiliser CSS pour obtenir l'effet de dégradé de transparence d'un élément Comment utiliser CSS pour obtenir l'effet de dégradé de transparence d'un élément Nov 21, 2023 pm 01:38 PM

Comment utiliser CSS pour obtenir l'effet de dégradé de transparence des éléments Dans le développement Web, l'ajout d'effets de transition aux éléments de page Web est l'un des moyens importants pour améliorer l'expérience utilisateur. L'effet dégradé de transparence peut non seulement rendre la page plus fluide, mais également mettre en valeur le contenu clé de l'élément. Cet article expliquera comment utiliser CSS pour obtenir l'effet de dégradé de transparence des éléments et fournira des exemples de code spécifiques. Utiliser l'attribut de transition CSS Pour obtenir l'effet de dégradé de transparence d'un élément, nous devons utiliser l'attribut de transition CSS. t

Comment implémenter une mise en page avec un menu de navigation fixe en utilisant HTML et CSS Comment implémenter une mise en page avec un menu de navigation fixe en utilisant HTML et CSS Oct 26, 2023 am 11:02 AM

Comment utiliser HTML et CSS pour implémenter une mise en page avec un menu de navigation fixe. Dans la conception Web moderne, les menus de navigation fixes sont l'une des mises en page courantes. Il peut maintenir le menu de navigation toujours en haut ou sur le côté de la page, permettant aux utilisateurs de parcourir facilement le contenu Web. Cet article explique comment utiliser HTML et CSS pour implémenter une mise en page avec un menu de navigation fixe et fournit des exemples de code spécifiques. Tout d'abord, vous devez créer une structure HTML pour présenter le contenu de la page Web et le menu de navigation. Voici un exemple simple

See all articles