PHP foreach 循环元素索引

发布于 2024-10-20 15:15:28 字数 479 浏览 9 评论 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 计数器或我还没有弄清楚的更明显的东西......任何指针???

I have an XPath query that gets Genres of a movie.

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

I get the attributes from $genreXpath like this

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

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

        $i++;
}

I'm going to be writing these values to a Db hence the two different arrays.
This code works but I know there has to be a better way of doing this be it with a 2 d array, not using a $i counter or something more obvious that I haven't figured out....any pointers???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清君侧 2024-10-27 15:15:28
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"];    
}

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

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

It auto increments and you do not need to declare it above.

星星的轨迹 2024-10-27 15:15:28

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

Use foreach($genreXpath as $key => $node) {

谜泪 2024-10-27 15:15:28

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

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

If you looking to a multidimensional you could do:

$genres = array();
foreach($genreXpath as $node) {
    $genre = $node->attributes();
    $genres[] = array($node["name"], $node["id"]);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文