테스트 사이트 - 개발 중인 베타 버전입니다

php array 질문 드립니다. 채택완료

강삼 6년 전 조회 2,125

안녕하세요~ 

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개

채택된 답변
+20 포인트

</p>

<p>$no = 1;

$str = [];

foreach($arr as $k => $v) {

    foreach($arr[$k] as $key => $value) {

        $str[] = "(".$no.", ".$value['id'].", '".$value['name']."', '".$value['birth_date']."')";

    }

    $no++;

}</p>

<p>$query = "INSERT INTO `table`(`no`, `id`, `name`, `birth_date`) VALUES ".implode(", ", $str);</p>

<p>

bulk insert 방식이라 칼럼명이랑 뒤에 데이터 부분 개수를 맞춰 주셔야 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변에 대한 댓글 1개

강삼
6년 전
답변 감사합니다. 머리로는 이해가 되는데. 코딩이 되지가 않아요. ㅜㅜ
임의 의 값이될 [1999-01-01], [2000-01-01] 를 선택만 해도 가공이 쉬울들 한데요.
방법이 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인