[PHP-users 21340]Re: 2つの配列の重複削除?について

真史 blueseeds @ harvestrain.com
2004年 4月 19日 (月) 18:47:17 JST


白水様
こんにちわ。はじめまして。まお@HN。です。

From: 白水 良 <ryoshiramizu @ hotmail.com> wrote.
Date: Mon, 19 Apr 2004 09:30:30 +0000
Subject: [PHP-users 21335]2つの配列の重複削除?について

> 上記の様な配列を比較し、最終的に$uniqueに、
> 
> $unique[0] = 333333333
> $unique[1] = 444444444
> $unique[2] = 555555555
> 

 $num1 の配列と $num2 の配列を、
array_push または array_unshift を使って統合し、
統合した配列を、array_unique にかける、

というのは、どうでしょうか?

http://jp.php.net/manual/ja/function.array-push.php
http://jp.php.net/manual/ja/function.array-unshift.php
http://jp.php.net/manual/ja/function.array-unique.php



と、書いている間に、北沢様が返信をなさっていました。。

ただ、array_diffは(array-uniqueもそうですが)
元の配列のキーが維持されたままの結果を返すので、
比較する二つの配列の同じキー名がそれぞれユニークである場合、
結果の配列には同じキーを持つ二つのデータが存在してしまいます。

その当たりの処理も忘れないほうが良いかも。

私は上述の関数を使った場合は、冗長な気がしているのですが、
listとeachをつかってwhileでループさせて、キーを再作成しています。

ご参考までに。


+*+*++*+*+*+*+*+*+*+*+*+
真史(MAO)
Blueseed @ harvestrain.com


PHP-users メーリングリストの案内