我希望限制为前 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。
也许是一段时间?完全不同的设置?非常感谢您对此提供的任何帮助。
最佳答案
改变这个:
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]
作为可变变量,当然,它不存在,因此是未定义/空的。
关于php - 如何限制 SimpleXML 结果的总数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301331/