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

배열 질문드립니다 채택완료

냐이 7년 전 조회 2,340

공휴일 API를 가져와서 출력하는중입니다  xml파일을 파싱해서 배열에 담고있는데  원하는 값의 배열 형태  Array  (      [2018-10-03] => 개천절      [2018-10-09] => 한글날  )  현재 출력되는 형태  Array  (      [2018-10-03] => 개천절  )  Array  (      [2018-10-09] => 한글날  )  이렇게 담아오는데 원하는 배열형태로 나오게 하려면  어떤방법이 있을까요?

 

 

</p>

<p>$object = simplexml_load_string($response);</p>

<p> </p>

<p>$t_count = $object->body->totalCount;</p>

<p> </p>

<p>for ($i=0; $i<$t_count; $i++) {</p>

<p> </p>

<p>  $dateName = $object->body->items->item[$i]->dateName;</p>

<p>  $locdate = $object->body->items->item[$i]->locdate;</p>

<p> </p>

<p> </p>

<p>  $n_year = substr($locdate, 0, 4);</p>

<p>  $n_month = substr($locdate, 4, 2);</p>

<p>  $n_day = substr($locdate, 6, 2);</p>

<p>   </p>

<p>  $ymd_day = $n_year . "-" . $n_month. "-" .$n_day;</p>

<p>   </p>

<p>  $lunar1 = array(</p>

<p>        "$ymd_day" => "$dateName",</p>

<p>  );</p>

<p>}</p>

<p>

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

답변 1개

채택된 답변
+20 포인트
mkdir
7년 전

$object = simplexml_load_string($response);   $t_count = $object->body->totalCount;    $lunar1 = array(); // 여기 확인

for ($i=0; $i<$t_count; $i++) {     $dateName = $object->body->items->item[$i]->dateName;   $locdate = $object->body->items->item[$i]->locdate;       $n_year = substr($locdate, 0, 4);   $n_month = substr($locdate, 4, 2);   $n_day = substr($locdate, 6, 2);       $ymd_day = $n_year . "-" . $n_month. "-" .$n_day;       $lunar1[$ymd_day] = $dateName   ); }

확인 해보세요~

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

답변에 대한 댓글 2개

냐이
7년 전
그렇게 하면 값이
Array
(
[2018-10-03] => SimpleXMLElement Object
(
[0] => 개천절
)

)
Array
(
[2018-10-03] => SimpleXMLElement Object
(
[0] => 개천절
)

[2018-10-09] => SimpleXMLElement Object
(
[0] => 한글날
)

)
Array
(
[2018-10-03] => SimpleXMLElement Object
(
[0] => 개천절
)

[2018-10-09] => SimpleXMLElement Object
(
[0] => 한글날
)

)
이런식으로 나오게됩니다ㅠ 파싱을 다시해야할까요?
m
mkdir
7년 전
$dateName이게 배열로 잡히는거 같은데..



혹시나 배열이라면 $dateName[0] 이렇게 쓰면 원하시는대로 될거 같긴합니다

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

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

로그인