ホームページ >バックエンド開発 >PHPチュートリアル >PHP 番号マージマスターチャレンジ
PHP 配列マージ エキスパート チャレンジ
次の配列を 1 つの配列にマージします
Array
(
[0] => Array
(
[id] => default
[name]) ] => aaa
[電話] => bbb
[年齢] => )
[1] => id] => 11
[名前] => aaa
[電話] => bbb
[年齢] => ccc
)
> 配列
(
[id] => 22
[名前] =>aaa
[電話番号] => bbb
[年齢] => ccc
)
[3] => 配列
(
[id] => 33
[name] => aaa
[tel] => bbb
[年齢] => ccc
)
[4] => 配列
(
[id] => 44
[名前] => new
[電話] => eee
[年齢] => fff
)
[5] => 配列
(
[id] => ; 66
[名前] => 新しい
[電話番号] => eee
[年齢] => fff
)
上記の配列を次の配列に結合します。 array
Array
(
[0] => Array
(
[id] => array(
[ 0] =>) ; デフォルト
[1] => 11
[3] => )
[名前] => tel] => bbb
[年齢] => ccc
)
[1] => 配列
(
[id] => > [0] => 44,
[1] => 66
)
[名前] => 新しい
[電話番号] => eee
[年齢] => fff
)
)
------解決策------ -----
PHP コード
$ar = 配列 (
0 =>
配列 (
'id' => 'デフォルト'、
'名前' => 'ああ'、
'電話' => 'bbb'、
'年齢' => 'ccc'、
)、
1 =>
配列 (
'id' => '11'、
'名前' => 'ああ'、
'電話' => 'bbb'、
'年齢' => 'ccc'、
)、
2 =>
配列 (
'id' => '22'、
'名前' => 'ああ'、
'電話' => 'bbb'、
'年齢' => 'ccc'、
)、
3 =>
配列 (
'id' => '33'、
'名前' => 'ああ'、
'電話' => 'bbb'、
'年齢' => 'ccc'、
)、
4 =>
配列 (
'id' => '44'、
'名前' => '新規',
「電話」 => 「ええ」、
'年齢' => 'fff',
)、
5 =>
配列 (
'id' => '66'、
'名前' => '新規',
「電話」 => 「ええ」、
'年齢' => 'fff',
)、
);
$res = 配列();
foreach($ar as $r) {
$k = "$r[名前]--$r[電話番号]--$r[年齢]";
if(! isset($res[$k])) {
$res[$k] = $r;
$res[$k]['id'] = 配列();
}
$res[$k]['id'][] = $r['id'];
}
$res = 配列値($res);
print_r($res);