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

Ippey ippei_sumida @ digicom.dnp.co.jp
2004年 4月 19日 (月) 21:46:34 JST


白水さま

角田です。
私もPHP勉強中です。お互い、がんばりましょう(^^
おそらくどなたかがもっと詳しく教えてくれると思うのでちょっとだけ。

On 2004/04/19, at 21:01, 白水 良 wrote:
>
> for ($a=0; $a<$count1; $a++ ) {
> 	for ($b=0; $b<$count2; $b++ ) {
> 		if ($num1[$a] - $num2[$b]  != 0 ) {
> 			$unique = $num1[$a];

ここでは$uniqueにスカラとして格納し続けるので555555〜しか表示されないと思います。
print_r(array_diff($num1,$num2));
これで
Array ( [2] => 333333333 [3] => 444444444 [4] => 555555555 )
と表示されると思います。

添字がどうしても
Array ( [0] => 333333333 [1] => 444444444 [2] => 555555555 )
でないとまずいのであれば
$unique = Array();
foreach(array_diff($num1,$num2) as $val){
	array_push($unique,$val);
}
print_r($unique);

こんな感じでどうでしょうか?
もっとよいやり方があるとは思いますが。。。

ちなみこちらの環境
Mac OSX 10.3.3
Apache !.3.29
PHP 4.3.2
で、上記結果が出ました。。






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