我希望限制前5个结果returned here。
这样可行,但不限制数据集:
<?php
foreach($sxml->status as $status){
$name = $status->user->name;
$image =$status->user->profile_image_url;
$update =$status->text;
$url = "http://twitter.com/" .$status->user->screen_name;
echo "<li><a href=\"" . $url . "\"><img src=\"" . $image . "\" alt=\"" . $name . " image\" />" . $name . " </a> " . $update . "</li>";
}
?>
我试过这个:
<?php
for($n = 0; $n <= 5; $n++){
$name = $sxml->$status[$n]->user->name;
$image = $sxml->$status[$n]->user->profile_image_url;
$update = $sxml->$status[$n]->text;
$url = "http://twitter.com/" . $sxml->$status[$n]->user->screen_name;
echo "<li><a href=\"" . $url . "\"><img src=\"" . $image . "\" alt=\"" . $name . " image\" />" . $name . " </a> " . $update . "</li>";
}
?>
我真的不确定为什么它不起作用。如果我只是这样做:
<?php echo $sxml->status[0]->user->name ?>
然后我得到了正确的结果。但是当在for循环中尝试它时,我得到NULL。
也许某种程度的时间?完全不同的设置?非常感谢你们给予的任何帮助。
答案 0 :(得分:4)
改变这个:
for($n = 0; $n <= 5; $n++){
$name = $sxml->$status[$n]->user->name;
$image = $sxml->$status[$n]->user->profile_image_url;
$update = $sxml->$status[$n]->text;
$url = "http://twitter.com/" . $sxml->$status[$n]->user->screen_name;
echo "<li><a href=\"" . $url . "\"><img src=\"" . $image . "\" alt=\"" . $name . " image\" />" . $name . " </a> " . $update . "</li>";
}
对此:
for($n = 0; $n <= 5; $n++){
$name = $sxml->status[$n]->user->name;
$image = $sxml->status[$n]->user->profile_image_url;
$update = $sxml->status[$n]->text;
$url = "http://twitter.com/" . $sxml->status[$n]->user->screen_name;
echo "<li><a href=\"" . $url . "\"><img src=\"" . $image . "\" alt=\"" . $name . " image\" />" . $name . " </a> " . $update . "</li>";
}
你不小心写了这个:
<?php echo $sxml->$status[0]->user->name ?>
它试图将$status[0]
作为变量变量,当然,它不存在,因此未定义/为空。
答案 1 :(得分:3)
如果你有一些有效的东西,为什么要通过改变一切来使事情过于复杂?只需将处理限制为前N个条目。
$i = 0;
foreach ($sxml->status as $status) {
if (++$i > 5) {
// stop after 5 loops
break;
}
// the rest is identical
}
答案 2 :(得分:1)
顺便说一下,$n = 0; $n <= 5; $n++
将限制前6个条目,而不是5个。
$n = 0; $n < 5; $n++
会按照你的要求行事。
答案 3 :(得分:0)
答案 4 :(得分:0)
我也试过这个,效果很好: - )
foreach($ xml-&gt; item as $ item){
if(++ $ i&gt; 5){break; }
$ item-&gt;标题。 '
';
} // foreach()
注意我没有使用$ i = 0;它似乎知道默认情况下; - )
我希望这对某人有所帮助。