0

我有一个数组,我只使用 foreach 语句循环它我只想显示前 5 个结果。这是最初的 foreach 语句:

<?php    
foreach ( $scorersCount as $player => $goals) {

$playerinfo = get_userdata($player);
$playerteam = get_user_meta($player, 'team-meta');
$teamname = get_post($playerteam[0]);
$playername = $playerinfo->user_login;

?>
<tr>
       <td class="playername"><?php echo $playername ?></td>

       <td class="teamname"><?php echo $teamname->post_title ?></td>

       <td><?php echo $goals ?></td>
    </tr>

<?php } > //end foreach

我认为我需要在 foreach 中包含一个 while 语句或一个 do while 语句,$i <= 5但是当我尝试这样做时,我只得到了第一个结果 5 次而不是前 5 个结果。有人可以告诉我如何正确地做到这一点吗?

4

2 回答 2

1

你可以breakforeach你想要的条件下循环,比如

<?php  $index=0;   
foreach ( $scorersCount as $player => $goals) {

$playerinfo = get_userdata($player);
$playerteam = get_user_meta($player, 'team-meta');
$teamname = get_post($playerteam[0]);
$playername = $playerinfo->user_login;

?>
<tr>
       <td class="playername"><?php echo $playername ?></td>

       <td class="teamname"><?php echo $teamname->post_title ?></td>

       <td><?php echo $goals ?></td>
    </tr>

<?php $index++;
 if($index=== 5) {
        break;    
    }
 } ?> 
于 2013-06-26T10:01:25.167 回答
0

你也可以使用 array_chunk

$scorersCount = array_chunk($scorersCount,5,true);
foreach ( $scorersCount[0] as $player => $goals) {
于 2017-03-15T16:14:11.717 回答