配列A
Array
(
[0] => TEST1/039
[1] => TEST2/222
)
配列B
Array
(
[0] => TEST1/039
[1] => TEST4/111
)
を関数でマージした際に
配列Cの結果にするには何かいい
関数はありますか?
配列C
Array
(
[0] => TEST1/039
[1] => TEST2/222
[2] => TEST4/111
)
array_mergeだと下に追加になるだけで
さらにPHP5にした際にちょっと処理が
変わるので、他に方法ありますか?
PHP4です。
PHP4とPHP5での挙動の差ですが、今回の場合は無関係なのでしょうか?その辺りの気になる点をもう少し教えて貰えますか?
array_mergeでよれれば次のような感じがコード上は楽です。
$a = array("TEST1/039", "TEST2/222"); $b = array("TEST1/039", "TEST4/111"); $c = array_unique(array_merge($a, $b));
出力順は何が期待する順序か分かりませんが、必要があれば、sortでも利用してください。
array_unique() が使えます。(php4, php5 共に使える関数です)
ローカルでチェックしてみました
$array_A = array('TEST1/039', 'TEST2/222'); $array_B = array('TEST1/039', 'TEST4/111'); // 配列を結合 $array_C = array_merge($array_A, $array_B); // 重複要素を削除(同時にソートされる) $array_C = array_unique($array_C); var_dump($array_C);
結果は、
array(3) {
[0]=>
string(9) "TEST1/039"
[1]=>
string(9) "TEST2/222"
[3]=>
string(9) "TEST4/111"
}
と表示されます。
ありがとうございますw
PHP5だと
$a = array("TEST1/039","TEST2/111");
$b = array("TEST4/111""TEST1/039");
$c = array_unique(array_merge($a, $b));
とやったら、
array("TEST1/039","TEST2/111");
こんな結果になりますか?
なりませんよね?