php array 질문 드립니다.
본문
안녕하세요~
php array 질문 드립니다.
Array
(
[1999-01-01] => Array
(
[0] => Array
(
[id] => 1
[name] => 한놈
[birth_date] => 1999-01-01
)
[1] => Array
(
[id] => 3
[name] => 석삼
[birth_date] => 1999-01-01
)
)
[2000-01-01] => Array
(
[0] => Array
(
[id] => 2
[name] => 두시기
[birth_date] => 2000-01-01
)
[1] => Array
(
[id] => 4
[name] => 너구리
[birth_date] => 2000-01-01
)
)
)
위와 같은 데이터가 있는데요.
이를 아래처럼 같은 birth_date 를 갖는 데이터에 같은 no 를 추가 하려고 합니다.
no | id | name | birth_date | . |
1 | 1 | 한놈 | 1999-01-01 | . |
1 | 3 | 석삼 | 1999-01-01 | . |
2 | 2 | 두시기 | 2000-01-01 | . |
2 | 4 | 너구리 | 2000-01-01 | . |
이런식으로 데이터를 저장하려는데요. php 코드를 어떤식으로 짜야할지 모르겠습니다.
임의 의 값이될 [1999-01-01], [2000-01-01] 를 선택만 해도 가공이 쉬울들 한데요. 방법이 있을까요?
코드든 힌트든 좋습니다. 고수님들의 고언 부탁드립니다~
답변 2
$no = 1;
$str = [];
foreach($arr as $k => $v) {
foreach($arr[$k] as $key => $value) {
$str[] = "(".$no.", ".$value['id'].", '".$value['name']."', '".$value['birth_date']."')";
}
$no++;
}
$query = "INSERT INTO `table`(`no`, `id`, `name`, `birth_date`) VALUES ".implode(", ", $str);
bulk insert 방식이라 칼럼명이랑 뒤에 데이터 부분 개수를 맞춰 주셔야 합니다.
!-->