人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの関数で
配列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です。

●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:PHP マージ 配列 関数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● t_shiono
●35ポイント

PHP4とPHP5での挙動の差ですが、今回の場合は無関係なのでしょうか?その辺りの気になる点をもう少し教えて貰えますか?

array_mergeでよれれば次のような感じがコード上は楽です。

$a = array("TEST1/039", "TEST2/222");
$b = array("TEST1/039", "TEST4/111");

$c = array_unique(array_merge($a, $b));

出力順は何が期待する順序か分かりませんが、必要があれば、sortでも利用してください。

◎質問者からの返答

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");

こんな結果になりますか?

なりませんよね?


2 ● tezcello
●35ポイント

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ