2011-05-09 11 views
0

안녕하세요, 그래서 나는이 배열, 파일 (위해 var_dump() ED) $를 불렀다 :PHP 배열의 반복 문제

array(2) { 
    [0]=> 
    array(1) { 
    ["_c"]=> 
    array(2) { 
     ["title"]=> 
     array(1) { 
     ["_v"]=> 
     string(9) "blueprint" 
     } 
     ["src"]=> 
     array(1) { 
     ["_v"]=> 
     string(20) "blueprint/screen.css" 
     } 
    } 
    } 
    [1]=> 
    array(1) { 
    ["_c"]=> 
    array(2) { 
     ["title"]=> 
     array(1) { 
     ["_v"]=> 
     string(7) "general" 
     } 
     ["src"]=> 
     array(1) { 
     ["_v"]=> 
     string(11) "general.css" 
     } 
    } 
    } 
} 

하지만 난 때

foreach($files as $file){ 
    // etc. 
} 

가 나는 Invalid argument supplied for foreach()

를 얻을 수

아이디어가 있으십니까? 감사.

+7

불가능합니다. 이 문제를 재현하는 전체 코드를 제공하십시오. – zerkms

+0

내 생각 엔 배열이 아닌/객체가'$ files'을 clobbered했다. – alex

+0

@zerkms http://pastebin.com/9w1XUu0P – wyqydsyq

답변

2

아. 네가하고있는 걸 나는 안다.

<css> 
     <file> 
      <title>blueprint</title> 
      <src>blueprint/screen.css</src> 
     </file> 
     <file> 
      <title>general</title> 
      <src>general.css</src> 
     </file> 
    </css> 

그러나 어떻게 JS 키가 나오면 대해 : 당신은 CSS 키는 따라서 올바른 배열을 file 태그를받을 수 있도록 매우 정확합니까? 충분히

<js> 

    </js> 

물론, 더 file 키가 어떤 배열이없고, PHP가된다는 의미도 없다.

당신은 거기에

if (!isset($files['file'])) continue; 

가 발생 할 수 있습니다.

+0

'file'키는 실제로 XML 파일. 105 행에서 while() 루프가 아닌 배열로 처리하는 것을 볼 수 있습니다. 행 113 ('$ files [ 'file']')에서'$ files'를 var_dump()하면 원래의 질문에 배열이 나옵니다. 참조 : http://pastebin.com/qvGbX4K2 – wyqydsyq

+0

내가 잘못 읽었습니다. 완전히 다른 (그리고보다 확실한) 설명으로 편집되었습니다. – VoteyDisciple

+0

좋아, 이건 내 머리를 쓰고있어. 방금 전에 다른 루프를 추가 했어. http://pastebin.com/nhJrJCT6 둘 다 잘 작동하지만, 동시에 경고를 내놔! – wyqydsyq