在 simpleXMLElement 的 foreach 循环中获取子索引
这是我的php代码:
<ul><?php$xml = simplexml_load_file('post.xml');//print_r($xml);foreach($xml->item as $key=>$item ){回声<<<HTML<li><div class="已发布"><span class="day">13</span>2010 年 9 月<div class="summary"><a href="#slide-$key"><h3>$item->title</h3></a>
HTML;}?>
php 渲染页面后, 返回
.我想要 $key 获取其中的数量,那么如何获得?
这是因为 simpleXML 结构不是普通的数组,而是没有数组索引的迭代器.
除了使用变量手动跟踪之外,我不知道还有其他解决方案:
$index = 0;$xml = simplexml_load_file('post.xml');foreach($xml->item 作为 $item ){....$索引++;}
<?xml version="1.0" encoding="utf-8"?>
<items>
<item>
<title>This is title1</title>
<desc>This is desc1</desc>
<image></image>
<tudou></tudou>
</item>
<item>
<title>This is title2</title>
<desc>This is desc2</desc>
<tudou>55362137</tudou>
</item>
<item>
<title>This is title3</title>
<desc>This is desc4</desc>
</item>
</items>
here's my php code:
<div class="nav">
<ul>
<?php
$xml = simplexml_load_file('post.xml');
//print_r($xml);
foreach($xml->item as $key=>$item )
{
echo <<<HTML
<li>
<div class="published">
<span class="day">13</span>
Sep 2010
</div>
<div class="summary">
<a href="#slide-$key">
<h3>$item->title</h3>
</a>
</div>
</li>
HTML;
}
?>
</ul>
</div>
after php render the page,the <a href="#slide-$key">
return <a href=#slide-item>
.
I want $key get the number of which ,
so how to get ?
This is because simpleXML structures are not normal arrays but iterators who do not have an array index.
I don't know of any other solution than keeping track manually using a variable:
$index = 0;
$xml = simplexml_load_file('post.xml');
foreach($xml->item as $item )
{
....
$index++;
}
相关文章