ホームページ  >  記事  >  バックエンド開発  >  PHP 配列における要素の検索と要素の重複排除の効率を向上させる手法の分析、php array_PHP チュートリアル

PHP 配列における要素の検索と要素の重複排除の効率を向上させる手法の分析、php array_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:57:531007ブラウズ

PHP 配列、PHP 配列における要素検索と要素重複排除の効率を向上させる手法の分析

配列要素の検索効率を向上させる
1.phpのin_arrayメソッドの説明

php 配列要素が存在するかどうかを調べるには、一般的に in_array メソッドが使用されます。

リーリー

パラメータの説明:

検索する値。needle が文字列の場合、比較では大文字と小文字が区別されます。

干し草の山
比較に使用される配列

厳しい
3 番目のパラメーター strict の値が TRUE の場合、in_array() 関数は針の種類が干し草の山のものと同じかどうかもチェックします

戻り値
針が見つかった場合は TRUE を返し、そうでない場合は FALSE を返します。


2.in_array 内の要素の検索効率

比較される配列の干し草の山が大きい場合、in_array の効率は非常に低くなります

例: in_array を使用して、100,000 要素の配列に対して 1,000 回の比較を実行します

リーリー リーリー

要素が存在するかどうかを判断するには in_array を使用します。100,000 要素の配列で 1000 回比較します。実行時間は約 2 秒かかります。


3. 要素の検索効率を向上させる方法

最初に array_flip を使用してキーと値の交換を実行し、次に isset メソッドを使用して要素が存在するかどうかを判断できます。これにより効率が向上します。

例: array_flip を使用して最初にキーと値の交換を実行し、次に isset メソッドを使用して判定し、100,000 要素の配列で 1000 回比較します

リーリー リーリー

array_flip と isset を使用して、100,000 要素の配列を 1,000 回比較します。実行時間は約 1.2 ミリ秒です。

したがって、大きな配列を比較する場合、array_flip メソッドと isset メソッドを使用する方が in_array よりもはるかに効率的になります。


素早く体重を減らします 1. array_unique メソッドを使用して重複を削除します

配列要素を重複排除するには、通常、array_unique メソッドを使用します。このメソッドを使用すると、配列内の要素を重複排除できます。

リーリー

出力:

リーリー

重複排除後、キー値の順序は変わります。array_values を使用してキー値を並べ替えることができます。

2. array_unique メソッドを使用して複製の効率を下げます
リーリー リーリー array_unique メソッドを使用して重複を削除します。実行時間は約 650 ミリ秒、メモリ使用量は約 5 ミリ秒です。

3. より高速なアレイ重複排除方法


php にはキーと値の交換メソッド array_flip があり、このメソッドを使用してキーと値の交換を行うため、元の重複した値は同じキーになります。
次に、キーと値の交換を再度実行し、キーと値を元に戻して重複排除を完了します。

リーリー リーリー

array_flip メソッドを使用して重複を削除します。実行時間は約 18 ミリ秒、メモリ使用量は約 2 ミリ秒です。
したがって、array_flip メソッドを使用して重複を削除すると、array_unique メソッドを使用した場合と比較して、実行時間が 98% 短縮され、メモリ使用量が 4/5 削減されます。

興味があるかもしれない記事:

php 配列内の指定された値を見つけるメソッド

php 配列検索関数 in_array()、array_search()、array_key_exists() の使用例
  • php 配列関数シーケンス in_array() search配列値が存在するかどうか
  • php配列関数シーケンスのarray_key_exists() - 配列キー名が存在するかどうかを確認する
  • PHP配列重複排除のより高速な実装
  • php 2次元配列のマージと重複排除メソッド
  • phpバブルソート、クイックソート、クイック検索、二次元配列の重複排除の例の共有
  • php 配列の重複排除の例と分析
  • php 配列の重複排除の関数コード
  • PHP 二次元配列の重複排除問題の分析
  • php 配列の比較実装の検索連続数の方法
  • phpはarray_search関数を使用して配列検索を実装します
http://www.bkjia.com/PHPjc/1106126.html

www.bkjia.com

http://www.bkjia.com/PHPjc/1106126.html技術記事 PHP 配列の要素検索と要素重複除去の効率を向上させる手法の分析。PHP 配列は配列要素の検索効率を向上させます。1.php の in_array メソッドは、PHP が配列要素の存在を検索するかどうかを説明します。...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。