这是我的php代码
$xml=simplexml_load_file("data/listings.xml") or die("Error: Cannot create object");
foreach($xml->children() as $listings){
echo "<div class='col-md-4 top-text'>";
echo "<a href='?p=single&n=" . $listings->time . "'><img src='thumbnails/" . $listings->images . ".jpg' class='img-responsive' alt=''></a>";
echo "<h5 class='top'><a href='?p=single&n=" . $listings->time . "'>" . $listings->title . "</a></h5>";
echo "</div>";
}
我无法使用下面的代码从头开始阅读。
foreach(array_reverse($xml->children()) as $listings){
echo "<div class='col-md-4 top-text'>";
echo "<a href='?p=single&n=" . $listings->time . "'><img src='thumbnails/" . $listings->images . ".jpg' class='img-responsive' alt=''></a>";
echo "<h5 class='top'><a href='?p=single&n=" . $listings->time . "'>" . $listings->title . "</a></h5>";
echo "</div>";
}
答案 0 :(得分:2)
在SimpleXMLElement上调用children()
时,将获得另一个SimpleXMLElement而不是数组,因此无法在其上调用array_reverse()
。一种简单的解决方法是改为使用for()
循环...
for ( $i=$xml->children()->count()-1; $i>=0; $i-- ) {
$list = $xml->children()[$i];
echo "<div class='col-md-4 top-text'>";
echo "<a href='?p=single&n=" . $listings->time . "'><img src='thumbnails/" . $listings->images . ".jpg' class='img-responsive' alt=''></a>";
echo "<h5 class='top'><a href='?p=single&n=" . $listings->time . "'>" . $listings->title . "</a></h5>";
echo "</div>";
}
通常可以在foreach()
中使用它的原因是它实现了Traversable,它使您可以像使用数组一样使用各种方法对其进行处理。