2011-03-07 3 views
0

영화의 장르를 가져 오는 XPath 쿼리가 있습니다.PHP foreach 루프 요소 색인

$genreXpath = $xml_data->xpath("//category"); 

은 내가 따라서 두 개의 서로 다른 배열 a DB에 이러한 값을 기록 할거야이

$genreName=array(); 
$genresID=array(); 
$i=0; 

foreach($genreXpath as $node) { 
    $genre = $node->attributes(); 
    $genreName[$i] = $node["name"]; 
    $genresID[$i] = $node["id"];  

     $i++; 
} 

처럼 $ genreXpath의 특성을 얻을. 이 코드는 작동하지만 2d 배열을 사용하는 것이 더 나은 방법이 될 수 있음을 알고 있습니다. $ i 카운터를 사용하지 않거나 더 명확하지 않은 포인터를 사용하지 않았습니다. ?

답변

0
foreach($genreXpath as $i=>$node) { //note $i is your index of the current $node 
    $genre = $node->attributes(); 
    $genreName[$i] = $node["name"]; 
    $genresID[$i] = $node["id"];  
} 

자동으로 증가하므로 위에 선언 할 필요가 없습니다.

+0

당신은 $ 내가 당신의 코멘트가 나타나기 전에' – ThiefMaster

+0

이 HAH, 약 10 초를했다 ++'제거 할 수 있습니다. 감사. – jondavidjohn

+0

고마워, 나는 다른 방법으로 $ node -> $ i, 나는 거기에 도착할 것이다. – RonanC

0

사용 foreach($genreXpath as $key => $node) {

0

당신은 당신이 할 수있는 다차원 찾고 경우 :

$genres = array(); 
foreach($genreXpath as $node) { 
    $genre = $node->attributes(); 
    $genres[] = array($node["name"], $node["id"]); 
} 
+0

SQL 삽입 문을 만들 때 어떻게 작동합니까? 주제가 약간 있지만 우리가있는 동안 :) – RonanC

+0

@ user644347 - implode를 사용합니다. 값을 결합하고 "라인"에 가입하십시오. –

+0

도움에 감사드립니다. – RonanC