반응형
php 필드에 따라 배열 병합, 동일한 id에 따라 배열 병합
소개하다.
사용자는 여러 개의 닉네임을 가지고 있으며, 각각의 닉네임은 하나의 레코드에 대응하며, 동일한 사용자의 닉네임 등의 정보를 하나로 통합하려고 한다.
초기 데이터 형식
$a = array(
['id' => 1, 'name' => 'liming' ,'nickname'=> 'aaa'],
['id' => 1, 'name' => 'liming' ,'nickname'=> 'bbb'],
['id' => 1, 'name' => 'liming' ,'nickname'=> 'ccc'],
['id' => 2, 'name' => 'xiaoqiang' ,'nickname'=> 'ddd'],
['id' => 2, 'name' => 'xiaoqiang' ,'nickname'=> 'eee'],
['id' => 2, 'name' => 'xiaoqiang' ,'nickname'=> 'fff'],
);
구현하려는 형식
$b = array(
[
'id' => 1,
'name' => 'liming',
'nickname_list'=> [
['nickname'=> 'aaa'],
['nickname'=> 'bbb'],
['nickname'=> 'ccc'],
]
],
[
'id' => 1,
'name' => 'xiaoqiang',
'nickname_list'=> [
['nickname'=> 'ddd'],
['nickname'=> 'eee'],
['nickname'=> 'fff'],
]
]
);
코드
$temp = [];
foreach ($aas $k => $value) {
$temp[$value['id'] = ['id' => $value['id'], 'name' => $value['name'];
$temp[$value['id']]['nickname_list'][] = $value;
}
$temp = array_values($temp); // 연관 배열에서 인덱스 배열로 변환
var_dump($temp);
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
php redis 연결 끊기 (0) | 2022.11.02 |
---|---|
php Warning, Notice 오류 캡처 (0) | 2022.11.02 |
php는 2차원 배열에 중복된 id가 있는지 여부를 판단한다 (0) | 2022.11.02 |
php에서 HTTP 요청 코드 시작 (0) | 2022.11.02 |
php 보안 및 취약성 (0) | 2022.11.02 |