0

我有一个获取电影流派的 XPath 查询。

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

我像这样从 $genreXpath 获取属性

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

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

        $i++;
}

我将把这些值写入 Db,因此有两个不同的数组。这段代码有效,但我知道必须有更好的方法来做到这一点,无论是使用二维数组,而不是使用 $i 计数器或更明显的东西,我还没有想出......任何指针???

4

3 回答 3

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"];    
}

它会自动递增,您不需要在上面声明它。

于 2011-03-07T20:56:16.470 回答
0

利用foreach($genreXpath as $key => $node) {

于 2011-03-07T20:56:46.913 回答
0

如果您寻找多维,您可以这样做:

$genres = array();
foreach($genreXpath as $node) {
    $genre = $node->attributes();
    $genres[] = array($node["name"], $node["id"]);
}
于 2011-03-07T20:59:45.853 回答