这是循环。
foreach($results->results as $result){
echo '<div id="twitter_status">';
echo '<img src="'.$result->profile_image_url.'" class="twitter_image">';
$text_n = $result->text;
echo "<div id='text_twit'>".$text_n."</div>";
echo '<div id="twitter_small">';
echo "<span id='link_user'".'<a href="http://www.twitter.com/'.$result->from_user.'">'.$result->from_user.'</a></span>';
$date = $result->created_at;
$dateFormat = new DateIntervalFormat();
$time = strtotime($result->created_at);
echo "<div class='time'>";
print sprintf('Submitted %s ago', $dateFormat->getInterval($time));
echo '</div>';
echo "</div>";
echo "</div>";
答案 0 :(得分:61)
使用break
命令。
你错过了一个括号。
$i=0;
foreach($results->results as $result){
//whatever you want to do here
$i++;
if($i==3) break;
}
有关break
命令的详细信息:http://php.net/manual/en/control-structures.break.php
更新:正如Kyle指出的那样,如果要打破循环,最好使用for
而不是foreach
。基本上,您可以更好地控制流量,并获得可读性。请注意,只有当数组中的元素连续且可索引(如 Colonel Sponsz 指出)时才能执行此操作
代码如下:
for($i=0;$i<3;$i++){
$result = $results->results[i];
//whatever you want to do here
}
它更干净,更防错(控制变量都在for
语句中),只需读取它就知道它将被执行多少次。如果可能,应该避免break
/ continue
。
答案 1 :(得分:7)
break
。你必须小心使用这种技术,因为for-each body中可能还有其他break
/ continue
,但是在你的情况下没有,所以这可行。
答案 2 :(得分:2)
在循环开始时递增一些计数器$i
,在它达到3时递增break;
,例如:
if ($i++ == 3)
break;
答案 3 :(得分:2)
foreach($results->results as $i => $result){
if($i==3) break;
//whatever you want to do here
}