2 次元配列を例として、任意のキー値の重複排除を説明します。foreach ループを 1 つだけ使用すると、時間計算量は ~O(n) になります。
<?php $arr = array( '0'=>array( 'name'=>'james', 'age'=>30, ), '1'=>array( 'name'=>'susu', 'age'=>26, ), '2'=>array( 'name'=>'james', 'age'=>30, ), 'new'=>array( 'name'=>'kube', 'age'=>37, ), 'list'=>array( 'name'=>'kube', 'age'=>27, ), ); /*针对任意键值来进行去重*/ function getArrayUniqueByKeys($arr) { $arr_out =array(); foreach($arr as $k => $v) { $key_out = $v['name']."-".$v['age']; //提取内部一维数组的key(name age)作为外部数组的键 if(array_key_exists($key_out,$arr_out)){ continue; } else{ $arr_out[$key_out] = $arr[$k]; //以key_out作为外部数组的键 $arr_wish[$k] = $arr[$k]; //实现二维数组唯一性 } } return $arr_wish; } $arr_wish = getArrayUniqueByKeys($arr); printf("As for the arbitrarily key:<br>"); print_r($arr_wish); echo "<br>"; ?>
出力結果:
任意キー:
Array ( [0] => Array ( [名前] => ジェームス [年齢] => 30 ) [1] => Array ( [名前] => スース [年齢] = > ; 26 ) [新しい] => 配列 ( [名前] => クベ [年齢] => 37 ) [リスト] => 配列 ( [名前] => クベ [年齢] => 27 ) )
開発例: クーポンの重複排除 (オファー金額-注文金額フィールドを繰り返し使用する重複を削除)
要件: 割引額注文金額と同額のクーポン。ユーザーが選択できるクーポンを 1 つだけ表示する必要があり、有効期限が最も早いクーポンが表示されます:
<?php $arrCoupon = array( '0'=>array( 'couponCode' => '3033323852301056', 'usableStartTime' => "1439740800", 'usableEndTime'=>"1440798100", 'couponAmount' =>100, 'orderAmount'=> 800, ), '1'=>array( 'couponCode' => '3033323852301057', 'usableStartTime' => "1439740800", 'usableEndTime'=>"1440768100", 'couponAmount' =>100, 'orderAmount'=> 800, ), '2'=>array( 'couponCode' => '3033323852301058', 'usableStartTime' => "1439740800", 'usableEndTime'=>"1440788100", 'couponAmount' =>100, 'orderAmount'=> 800, ), '3'=>array( 'couponCode' => '3033323852301059', 'usableStartTime' => "1439740800", 'usableEndTime'=>"1440779100", 'couponAmount' =>200, 'orderAmount'=> 800, ), '4'=>array( 'couponCode' => '3033323852301060', 'usableStartTime' => "1439740800", 'usableEndTime'=>"1440758100", 'couponAmount' =>200, 'orderAmount'=> 800, ), '5'=>array( 'couponCode' => '3033323852301061', 'usableStartTime' => "1439740800", 'usableEndTime'=>"1440798100", 'couponAmount' =>200, 'orderAmount'=> 800, ), ); //print_r($arrCoupon); function getArrayUniqueByKey($arr) { $arrWish = array(); $today = time(); foreach ($arr as $k => $v) { if (($v['usableStartTime'] intval($v['usableEndTime'])) { $arrWish[$keyOut] = $v; //如果原来数组中结束时间大的话,就交换值 } continue; } $arrWish[$keyOut] = $v; //实现二维数组唯一性 } continue; } return $arrWish; } $arrWant = getArrayUniqueByKey($arrCoupon); print_r($arrWant); ?>
出力結果: Array( [
100- 800] =>配列 ([クーポンコード] => 3033323852301057 [使用可能開始時間] => 1439740800[使用可能終了時間] => 1440768100 [クーポン金額] => 100 [注文金額] =>800 ) [ 200-800 ]=>
Array ( [クーポンコード] => 3033323852301060 [使用可能開始時間] => 1439740800 [使用可能終了時間] => 1440758100 [クーポン金額] => 200 [注文金額]=> 800 ) )
以上、PHPにおける多次元配列の重複排除(任意のキー値の重複排除)~二次元配列の唯一のこと~時間計算量~についての側面も含めて紹介しましたので、PHPチュートリアルに興味のある方はぜひご一読ください。役に立ちました。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
