ホームページ バックエンド開発 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">
ログイン後にコピー
";
?>

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

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

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

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

联想一下,数据库返回某一字段重名的值也是这个道理,当然通过sql语句也能够实现。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaFX では、さまざまなパス要素とは何ですか? JavaFX では、さまざまなパス要素とは何ですか? Aug 28, 2023 pm 12:53 PM

javafx.scene.shape パッケージには、さまざまな 2D 形状を描画できるいくつかのクラスが用意されていますが、これらは線、円、多角形、楕円などの原始的な形状にすぎません。複雑なカスタム形状を描画したい場合は、次のものが必要です。 Path クラスを使用します。パス クラス パス クラス 形状を表すこの幾何学的アウトラインを使用して、カスタム パスを描画できます。カスタム パスを描画するために、JavaFX にはさまざまなパス要素が用意されており、それらはすべて javafx.scene.shape パッケージ内のクラスとして利用できます。 LineTo - このクラスはパス要素の行を表します。現在の座標から指定された (新しい) 座標まで直線を引くのに役立ちます。 HlineTo - これはテーブルです

C++ プログラム: 配列に要素を追加する C++ プログラム: 配列に要素を追加する Aug 25, 2023 pm 10:29 PM

配列は、連続したメモリ位置に同種のデータを保持するために使用される線形順次データ構造です。他のデータ構造と同様に、配列には、何らかの効率的な方法で要素を挿入、削除、走査、更新する機能が必要です。 C++ では、配列は静的です。 C++ では、いくつかの動的配列構造も提供します。静的配列の場合、Z 個の要素を配列に格納できます。これまでのところ、n 個の要素があります。この記事では、C++ で配列の末尾に要素を挿入する方法 (要素の追加とも呼ばれます) を学習します。例を通じて概念を理解します。「this」キーワードの使用法は次のとおりです: GivenarrayA=[10,14,65,85,96,12,35,74,69]Afterin

CSS トランジション効果: 要素のスライド効果を実現する方法 CSS トランジション効果: 要素のスライド効果を実現する方法 Nov 21, 2023 pm 01:16 PM

CSS トランジション効果: 要素のスライド効果を実現する方法 はじめに: Web デザインでは、要素の動的な効果によりユーザー エクスペリエンスを向上させることができます。その中でも、スライド効果は一般的で人気のあるトランジション効果です。 CSS のトランジション プロパティを使用すると、要素のスライド アニメーション効果を簡単に実現できます。この記事では、CSS トランジション プロパティを使用して要素のスライド効果を実現する方法を紹介し、読者がよりよく理解して適用できるように具体的なコード例を示します。 1. CSS トランジション属性の概要 トランジション CSS トランジション属性 tra

html5でサポートされていない要素は何ですか html5でサポートされていない要素は何ですか Aug 11, 2023 pm 01:25 PM

HTML5 がサポートしていない要素は、純粋に表現力豊かな要素、フレームベースの要素、アプリケーション要素、置換可能な要素、および古いフォーム要素です。詳細な紹介: 1. フォント、センター、s、u などの純粋に表現力豊かな要素。これらの要素は通常、テキストのスタイルやレイアウトを制御するために使用されます。 2. フレームベースの要素 (frame、frameset、noframes など)。要素は、以前は Web ページ レイアウトの作成やウィンドウの分割に使用されていました; 3. アプレット、isinde などのアプリケーション関連の要素。

CSS 変換: 要素の回転効果を実現する方法 CSS 変換: 要素の回転効果を実現する方法 Nov 21, 2023 pm 06:36 PM

CSS 変換: 要素の回転効果を実現する方法には、特定のコード サンプルが必要です。Web デザインでは、アニメーション効果はユーザー エクスペリエンスを向上させ、ユーザーの注意を引くための重要な方法の 1 つであり、回転アニメーションは最も古典的なものの 1 つです。 CSS では、「transform」属性を使用して、回転を含む要素のさまざまな変形効果を実現できます。この記事では、CSS「transform」を使用して要素の回転効果を実現する方法と、具体的なコード例を詳しく紹介します。 1.CSSの「transf」の使い方

jqueryで要素を削除する方法 jqueryで要素を削除する方法 Feb 17, 2023 am 09:49 AM

jQuery を使用して要素を削除する方法: 1. jQuery の delete() メソッドを使用して、選択した要素とそのサブ要素を削除します。構文は "$("#div1").remove();"; 2. jQuery を使用して削除します。 empty() メソッド。選択した要素の子要素。構文は「$("#div1").empty();」です。

CSS を使用して要素の透明度のグラデーション効果を実現する方法 CSS を使用して要素の透明度のグラデーション効果を実現する方法 Nov 21, 2023 pm 01:38 PM

CSS を使用して要素の透明グラデーション効果を実現する方法 Web 開発では、Web ページ要素にトランジション効果を追加することは、ユーザー エクスペリエンスを向上させる重要な手段の 1 つです。透明度のグラデーション効果は、ページを滑らかにするだけでなく、要素の重要なコンテンツを強調表示することもできます。この記事では、CSS を使用して要素の透明度のグラデーション効果を実現する方法を紹介し、具体的なコード例を示します。 CSS トランジション属性の使用 要素の透明グラデーション効果を実現するには、CSS トランジション属性を使用する必要があります。 t

HTML と CSS を使用して固定ナビゲーション メニューを含むレイアウトを実装する方法 HTML と CSS を使用して固定ナビゲーション メニューを含むレイアウトを実装する方法 Oct 26, 2023 am 11:02 AM

HTML と CSS を使用して固定ナビゲーション メニューを含むレイアウトを実装する方法 最新の Web デザインでは、固定ナビゲーション メニューは一般的なレイアウトの 1 つです。ナビゲーション メニューを常にページの上部または横に配置できるため、ユーザーは Web コンテンツを便利に閲覧できます。この記事では、HTML と CSS を使用して固定ナビゲーション メニューのレイアウトを実装する方法を紹介し、具体的なコード例を示します。まず、Web ページのコンテンツとナビゲーション メニューを表示する HTML 構造を作成する必要があります。これが簡単な例です

See all articles