0
林下面生成一些HTML输出:问题与使用PHP进行排序,然后输出
<?php
$url = "images.xml";
$xmlstr = file_get_contents($url);
$xml = new SimpleXMLElement($xmlstr);
$images = array();
$ids = array();
foreach ($xml->image as $image) {
$images[]['id'] = $image -> id;
$images[]['link'] = $image->href;
$images[]['src'] = $image->source;
$images[]['title'] = $image->title;
$images[]['alt'] = $image->alt;
$ids[] = $image -> id;
}
array_multisort($ids, SORT_ASC, $images);
foreach ($images as $image){
echo "<a href='".$image['link']."'><img src='".$image['src']."' alt='".$image['alt']."' title='".$image['title']."' /></a>";
}
?>
如果我改变这里的代码:
foreach ($images as $image){
echo $image['link'];
echo "Item";
}
我得到的图像链接3倍,这是正确的,因为XML中有3条记录。但我得到12个文本项目的副本。
这是怎么发生的?
我认为你需要一点更精确的关于不正确的输出 - 可能你的XML的一个片段将是有益的了。根据我所知道的,你说的是'for'循环可以运行3次或12次(或者可能同时运行两次?!?)。 – Basic 2010-12-18 15:06:35
其他人都在下面了解。 – CLiown 2010-12-18 15:13:03