ホームページ バックエンド開発 PHPチュートリアル 2000条数据的数组,找出有重复值的索引

2000条数据的数组,找出有重复值的索引

Jun 13, 2016 am 10:37 AM
arr array foreach quot tmp

2000条数据的数组,找到有重复值的索引.
例如 一个数组含有 1,2,2,2,3,4,5,5,5,6,2,2,7,8,2,5,3,9,...............

得到 2的重复索引2,3,10,11,14
  5的重复索引7,8,15
  ....

不能2重for或者while循环,这样代价太大.

------解决方案--------------------

PHP code
$arr    = array(1,2,2,2,3,4,5,5,5,6,2,2,7,8,2,5,3,9);$tmp    = array();foreach($arr AS $k => $v){    if(isset($tmp[$v]))    {        if($tmp[$v])        {            $tmp[$v]    .= ",";        }        $tmp[$v]    .= $k;    }    else    {        $tmp[$v]    = "";    }}foreach($tmp AS $k => $v){    if($v)    {        echo    $k, "=>", $v, "\n";    }}unset($tmp);<br><font color="#e78608">------解决方案--------------------</font><br>
ログイン後にコピー
PHP code
$a = array( 1,2,2,2,3,4,5,5,5,6,2,2,7,8,2,5,3,9);$r = array();foreach($a as $v) {  if(isset($r[$v])) continue;  if($t = array_keys(array_intersect($a, array($v)))) {    unset($t[0]);    $r[$v] = join(',', $t);  }}$r = array_diff($r, array(''));print_r($r);<br><font color="#e78608">------解决方案--------------------</font><br>
ログイン後にコピー
PHP code
$arr = array(1,2,2,2,3,4,5,5,5,6,2,2,7,8,2,5,3,9);$str = implode(',', $arr);foreach ($arr as $k=>$v){    $t[$v] .= !isset($t[$v]) ? '' : $k . ',';    $l += strlen($v);    if((strrpos($str, $v.'')) == $l-strlen($v))        $t[$v] = trim($t[$v], ',');    ++$l;}print_r($t);<div class="clear">
                 
              
              
        
            </div>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割 Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割 Dec 21, 2023 pm 05:36 PM

.tmp ファイルのほとんどは、異常なシャットダウンまたはクラッシュによって残されたファイルです。これらの一時的な仮想記憶ディスクは、コンピュータの再起動後は使用されないため、安全に削除できます。 Windows オペレーティング システムを使用している場合、C ドライブのルート ディレクトリにサフィックス TMP の付いたファイルが見つかることがよくあります。また、Windows ディレクトリにも TEMP ディレクトリが見つかります。TMP ファイルは、さまざまなソフトウェアやソフトウェアによって生成される一時ファイルです。システム。ジャンク ファイルとも呼ばれます。 Windows によって生成される一時ファイルは、本質的には仮想メモリと同じですが、一時ファイルは仮想メモリよりも対象が絞られており、特定のプログラムのみに使用される点が異なります。そして、その特異性により、多くの初心者が怖気づいて削除できなくなりました。

Java ArrayList を走査するときに要素を削除するために foreach と iterator を使用することの違いは何ですか? Java ArrayList を走査するときに要素を削除するために foreach と iterator を使用することの違いは何ですか? Apr 27, 2023 pm 03:40 PM

1. Iterator と foreach の違いはポリモーフィックな違いです (foreach の最下層は Iterator です) Iterator はインターフェイス型であり、コレクションや配列の型を気にしません; for と foreach の両方がコレクションの型を知る必要がありますまず、コレクション内の要素の種類についても; 1. foreach の最下層はイテレータによって記述されたコードであると言われる理由: 逆コンパイルされたコード: 2. foreach の削除とイテレータの違い まず、Alibaba を見てください。 Java 開発マニュアル。ただし、ケース 1 ではエラーは報告されず、ケース 2 (java.util.ConcurrentModificationException) では最初にエラーが報告されます。

PHPでforeachループの数を確認する方法 PHPでforeachループの数を確認する方法 Jul 10, 2023 pm 02:18 PM

PHP が foreach ループの数を決定する手順: 1. "$fruits" の配列を作成します; 2. 初期値 0 でカウンタ変数 "$counter" を作成します; 3. "foreach" を使用してループします配列を介してループ本体内のカウンタ変数の値を増加させ、各要素とそのインデックスを出力します; 4. foreach ループの外側にカウンタ変数の値を出力し、ループがどの要素に到達したかを確認します。

Linux での tmp の意味 Linux での tmp の意味 Mar 10, 2023 am 09:26 AM

Linux では、tmp は一時ファイルを保存するフォルダを指します。このフォルダには、システムとユーザーによって作成された一時ファイルが含まれます。tmp フォルダのデフォルトの制限時間は 30 日です。30 日間アクセスされなかった tmp 下のファイルは、自動的に保存されます。システムによって削除されました。

CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は? CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は? Dec 27, 2023 pm 09:10 PM

centos7システムのtmpディレクトリにゴミが大量にあるのですが、ゴミを削除したい場合はどうすればよいでしょうか?以下の詳細なチュートリアルを見てみましょう。 tmp ファイル ディレクトリ内のファイルのリストを表示するには、コマンド cdtmp/ を実行して tmp の現在のファイル ディレクトリに切り替え、ll コマンドを実行して現在のディレクトリ内のファイルのリストを表示します。以下に示すように。ファイルを削除するには、rm コマンドを使用します。rm コマンドはファイルをシステムから永久に削除することに注意してください。したがって、rm コマンドを使用するときは、ファイルを削除する前にプロンプ​​トを表示することをお勧めします。コマンド rm-i file name を使用し、ユーザーが削除を確認する (y) か削除をスキップする (n) まで待つと、システムは対応する操作を実行します。以下に示すように。

TmP とは何のファイルですか? TmP とは何のファイルですか? Dec 25, 2023 pm 03:39 PM

「tmp」ファイルは一時ファイルで、通常はオペレーティング システムまたはプログラムの動作中に生成され、プログラムの実行中に一時データや中間結果を保存するために使用されます。これらのファイルは主にプログラムをスムーズに実行するために使用されますが、通常はプログラムの実行後に自動的に削除されます。 tmp ファイルは通常、Windows システムの C ドライブのルート ディレクトリにあります。ただし、tmp ファイルは特定のアプリケーションまたはシステムに関連付けられているため、その具体的な内容と目的はアプリケーションごとに異なる場合があります。

PHPはキー値を反転した配列を返します PHPはキー値を反転した配列を返します Mar 21, 2024 pm 02:10 PM

この記事では、PHP がどのようにしてキー値を反転した後に配列を返すのかについて詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP キー値フリップ 配列キー値フリップは、配列内のキーと値を交換して、元のキーを値として、元の値をキーとして持つ新しい配列を生成する配列に対する操作です。実装方法 PHP では、次の方法で配列のキーと値の反転を実行できます。 array_flip() 関数: array_flip() 関数は、キーと値の反転操作に特に使用されます。引数として配列を受け取り、キーと値が交換された新しい配列を返します。 $original_array=[

C# の Array.Sort 関数を使用して配列を並べ替える C# の Array.Sort 関数を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

See all articles