2015.
10.
21
00:21:27
結論から書くと、array_diff()関数を使って
のように書けばOKです。
「$ary01」にあって「$ary02」に無い要素が配列として「$ret」に入ります。
あら、楽チンですね(*´ェ`*)
さらに
のように、比較対象の配列を複数書くこともできます。
「$ary01」にあって「$ary02」「$ary03」「$ary04」に無い要素が
配列として「$ret」に入ります。
簡単ですね(*´ェ`*)
説明はこれだけですが、一応、サンプルを置いておきますね。
こんなコードを実行するとφ(--)
こんな結果になりますφ(--)
どうやら型は無視されるみたいですね。
「$ary01」の「1」と「$ary02」の「"1"」は同じものと見なされたようです。
比較対象が複数あるサンプルはこちらですφ(--)
結果は、こんなんなりますφ(--)
「$ary01」の「"a"」「"b"」「1」は「$ary02」の要素と一致します。
「$ary01」の「2」は「$ary03」の要素と一致します。
よって、残りの「"c"」のみ差分として抽出されました。
そんな感じ\(--)/
$ret = array_diff($ary01, $ary02);
のように書けばOKです。
「$ary01」にあって「$ary02」に無い要素が配列として「$ret」に入ります。
あら、楽チンですね(*´ェ`*)
さらに
$ret = array_diff($ary01, $ary02, $ary03, $ary04);
のように、比較対象の配列を複数書くこともできます。
「$ary01」にあって「$ary02」「$ary03」「$ary04」に無い要素が
配列として「$ret」に入ります。
簡単ですね(*´ェ`*)
説明はこれだけですが、一応、サンプルを置いておきますね。
こんなコードを実行するとφ(--)
<?php
$ary01 = array(
"a"
,"b"
,"c"
,1
,2
);
$ary02 = array(
"a"
,"b"
,"d"
,"1"
);
$ret = array_diff($ary01, $ary02);
var_dump($ret);
$ary01 = array(
"a"
,"b"
,"c"
,1
,2
);
$ary02 = array(
"a"
,"b"
,"d"
,"1"
);
$ret = array_diff($ary01, $ary02);
var_dump($ret);
こんな結果になりますφ(--)
array(2) {
[2]=>
string(1) "c"
[4]=>
int(2)
}
[2]=>
string(1) "c"
[4]=>
int(2)
}
どうやら型は無視されるみたいですね。
「$ary01」の「1」と「$ary02」の「"1"」は同じものと見なされたようです。
比較対象が複数あるサンプルはこちらですφ(--)
<?php
var_dump($ret);
$ary01 = array(
"a"
,"b"
,"c"
,1
,2
);
$ary02 = array(
"a"
,"b"
,"d"
,"1"
);
$ary03 = array(
2
);
$ret = array_diff($ary01, $ary02, $ary03);
var_dump($ret);
var_dump($ret);
$ary01 = array(
"a"
,"b"
,"c"
,1
,2
);
$ary02 = array(
"a"
,"b"
,"d"
,"1"
);
$ary03 = array(
2
);
$ret = array_diff($ary01, $ary02, $ary03);
var_dump($ret);
結果は、こんなんなりますφ(--)
array(1) {
[2]=>
string(1) "c"
}
[2]=>
string(1) "c"
}
「$ary01」の「"a"」「"b"」「1」は「$ary02」の要素と一致します。
「$ary01」の「2」は「$ary03」の要素と一致します。
よって、残りの「"c"」のみ差分として抽出されました。
そんな感じ\(--)/