ホームページ  >  記事  >  バックエンド開発  >  PHPの配列重複排除の簡単な例(1次元および2次元配列の重複排除)

PHPの配列重複排除の簡単な例(1次元および2次元配列の重複排除)

WBOY
WBOYオリジナル
2016-07-25 08:55:381161ブラウズ
  1. $aa=array("リンゴ","バナナ","梨","リンゴ","泣き叫ぶ","ウォーターマロン");
  2. $bb=array_unique($aa);
  3. print_r($bb);
  4. ?>
コードをコピー

出力結果: 配列 ( [0] => リンゴ [1] => バナナ [2] => 梨 [4] => 泣き声 [5] => スイカ ) 。

2 番目、PHP の 2 次元配列の複製: 2 次元配列の場合、2 つの状況について説明します。1 つは、特定のキー名の値を繰り返すことができず、重複が削除されるためです。 もう 1 つは、内部 1 次元配列がまったく同じであることはできないため、重複を削除することです。

例1、あるキー名の値は重複できないため、重複したものを削除します。 コード:

  1. function assoc_unique($arr, $key)
  2. {
  3. $tmp_arr = array();
  4. foreach($arr as $k => $v)
  5. {
  6. if(in_array ($v[$key], $tmp_arr))//$tmp_arr 配列に $v[$key] が存在するかどうかを検索し、存在する場合は true を返します
  7. { // bbs.it-home.org
  8. unset($ arr[ $k]);
  9. }
  10. else {
  11. $tmp_arr[] = $v[$key];
  12. }
  13. }
  14. sort($arr) //sort 関数は配列を並べ替えます
  15. return $arr;
  16. }
  17. $aa = array(
  18. array('id' => 123, 'name' => '張三'),
  19. array('id' => 123, 'name' => '李思' ) ,
  20. array('id' => 124, 'name' => '王五'),
  21. array('id' => 125, 'name' => '趙劉'),
  22. 配列( 'id' => 126, 'name' => '赵六')
  23. );
  24. $key = 'id';
  25. assoc_unique(&$aa, $key);
  26. print_r($aa);
  27. ? >
コードをコピー

出力結果: Array ( [0] => Array ( [id] => 123 [name] => Zhang San) [1] => Array ( [id] => 124 [名前] => 王呉) [2] => 配列 ( [id] => 125 [名前] => 趙劉) [3] => 配列 ( [id] => 126 [名前] => 趙劉 ) ) 例 2: 内部 1 次元配列は完全に同じにすることはできないため、重複を削除します。 コード:

  1. function array_unique_fb($array2D){
  2. foreach ($array2D as $v){
  3. $v = join(",",$v) //次元削減も使用可能implode、一次元配列をカンマでつながれた文字列に変換します
  4. $temp[] = $v;
  5. } // bbs.it-home.org
  6. $temp = array_unique($temp); // 重複する文字を削除します String 、つまり、繰り返される 1 次元配列です
  7. foreach ($temp as $k => $v){
  8. $temp[$k] =explode(",",$v); //次に配列を分割します。
  9. }
  10. return $temp;
  11. }
  12. $aa = array(
  13. array('id' => 123, 'name' => '張三'),
  14. array('id' => 123 , ' name' => '李思'),
  15. array('id' => 124, 'name' => '王五'),
  16. array('id' => 123, 'name' => ; '李思'),
  17. array('id' => 126, 'name' => '趙劉')
  18. );
  19. $bb=array_unique_fb($aa);
  20. print_r($bb)
  21. ? >
コードをコピー

出力結果:

配列 ( [0] => 配列 ( [0] => 123 [1] => チャン・サン) [1] => 配列 ( [0] => 123 [1] => 李思) [2] => 配列( [0] => 124 [1] => 王呉) [4] => 配列 ( [0] => 126 [1] => 趙劉 ) )


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。