php array 질문 드립니다.

php array 질문 드립니다.

QA

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 방식이라 칼럼명이랑 뒤에 데이터 부분 개수를 맞춰 주셔야 합니다.

https://www.php.net/manual/en/control-structures.foreach.php 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,155 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT