2012-09-10 4 views
0

SimpleXMLElement에서 변환 한 후 이상한 배열 형식이 있습니다. 이 같은 배열이 있습니다단일 요소 배열을 문자열로 변환

Array 
(
    [test] => Array 
     (
      [0] => Array 
       (
        [a] => Array 
         (
          [0] => 1 
         ) 

        [b] => Array 
         (
          [0] => 2 
         ) 

        [c] => Array 
         (
          [0] => 3 
         ) 

을 그리고 난이로 변환 할 :

Array 
(
    [test] => Array 
     (
      [0] => Array 
       (
        [a] => 1 

        [b] => 2 

        [c] => 3 

어떤 아이디어?

+0

무엇이 문제입니까? – PeeHaa

+1

[무엇을 시도 했습니까?] (http://www.whathaveyoutried.com) – Kermit

+0

SimpleXML 형식을 수정하는 것이 좋습니다 – Phil

답변

1

나는 SimpleXmlElement에서 단일 요소 배열을 최적화하기 위해 이것을 사용 : 하나의 배열 요소가 어떤 수준 깊은 중첩 될 수 있습니다

function optimize($config) 
{ 
    foreach ($config as $key => $value) 
    if(is_array($value) && count($value) == 1 && isset($value[0])) 
     $config[$key] = $value[0];    

    return $config 
} 

, 당신은 재귀 함수로이 기능을 사용할 수 있습니다.

+0

다음과 같은 간단한 재귀 함수가 있습니다 : function parse ($ iterator) { foreach ($ iterator as $ key => $ item) { $ data [$ key] [] = ($ iterator-> hasChildren()) ? parse ($ item) : strval ($ item); } – vinnylinux

관련 문제