채택완료

배열 질문드립니다

2018-09-28 (금) 10:52:42 2,611

공휴일 API를 가져와서 출력하는중입니다 
xml파일을 파싱해서 배열에 담고있는데 

원하는 값의 배열 형태 
Array 

    [2018-10-03] => 개천절 
    [2018-10-09] => 한글날 


현재 출력되는 형태 

Array 

    [2018-10-03] => 개천절 

Array 

    [2018-10-09] => 한글날 


이렇게 담아오는데 원하는 배열형태로 나오게 하려면 
어떤방법이 있을까요?

Copy
$object = simplexml_load_string($response);

 

$t_count = $object->body->totalCount;

 

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 = array(

        "$ymd_day" => "$dateName",

  );

}
|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

$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개

그렇게 하면 값이
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] => 한글날
)

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



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

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